postgresql
<環境> ニフティクラウド centOS7 <やりたいこと> LAPP環境作りたい。 phpはyumにある5.4でいい postgresはyumになる9.2はダメ。9.3を入れる必要がある。 <なんと> centOS7からserviceコマンドとかapachectlコマンド使えなくなってました,,,, 公開から…
そこそこ大きなテーブルの検索処理のパフォーマンスチューニングをやっていてぶつかった課題。 SQLだけで、ポスグレのオプティマイザに判断させずに、使えるインデックスがある場合には必ず使わせることができます。 というおまじないがこれ set local enabl…
ポスグレでトリガー関数の一覧をみるときのSQL SELECT * FROM pg_trigger; と。
MySQLならば単純に UPDATE tabel_b b INNER JOIN table_a a ON b.a_id = a.id SET bcol = a.col みたいなことでできたと思いますが、postgresはダメらしい。 ちょっと違う書き方をします。 ポイントはFROM句をつかい、WHERE句で結合させること。 UPDATE tabl…
postgresでSQLたたいて、取得したいときに! 結論だけ テーブルリスト \d カラムリスト \d table_name これだけ! mysqlは、、、2年位扱ってないから忘れた。。
久々に記事書くなぁ〜。 こんな感じ。 product_codeが重複しているuser_id 80の情報を抽出する。 >|SQL| SELECT product_id, product_code, create_date FROM productsWHERE user_id = 80 AND product_code IN ( SELECT product_code FROM products WHERE us…
僕はもともとmysqlばっかり使ってたが、案件でポスグレ(postgreSQL)を使うことがありました。 大した話しではないけど、msyqlとの大きな違いを教えますー違い1:スキーマっていう概念 msyqlだとデータベースがあって、その中にテーブルがある という構造だ…
運用中のDBの容量を知りたいとき、あると思います。 そんな方法DBごとでも、テーブルごとでも流れは同じ調べたい対象のidを調べる → そのidからデータ量を調べる です。ポスグレには、pg_stag_database という統計情報のテーブルがあるようなんで、 それを使…
なんかあるだろうーなーとは思ってたけど知らなかったよ。 ファイルにSQLを書き出しておいて、一括で実行する方法です。 \i [file path] これだけ。 あ、ポスグレにログインしてから実行してね。ちなみにtabも効きます。posgreにログインしないでやる場合は…
これまたよくあるパターンです。 テーブル Aを検索して、集計などなどして、 テーブル Bに結果をINSERTしたい。 ていうケースについて 結論こんな感じです >|sql| INSERT INTO dtb_category_range_count SELECT range_id, count(product_id) AS cnt FROM dtb…
エンジニアならよくやると思うけど、 テーブルAの検索結果を集計なりなんなりして、 テーブルBに保存するっていうケース UPDATEにFROM句つかってサブクエリやれば、さくっといける SLECT結果をグルグルループしながらアップデートってのもあるけど、 件数多…
postgresqlの8系から9系へのバージョンアップ方法 ただ、9系をインストールしようとしても、 8系と9系は別のアプリケーションとして 同じサーバに両方存在していまいます。 ので、8系を削除してから9系をインストールします。 ちなみに9系をインスト…
これに書いてある。 http://morizyun.github.io/blog/postgresql-mac-centos-rails/ 既にpostgreq8系が入っているときは、これだけだとダメ postgresユーザになってホームディレクトリにある .bash_profileにコマンドのパスを通す su - postgres cd ~/ vi .b…