タグ

ブックマーク / lets.postgresql.jp (5)

  • 再帰SQL — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 共通表式 WITH 句と再帰SQL (WITH RECURSIVE) は PostgreSQL 8.4 の新機能です。WITH と WITH RECURSIVE それぞれの説明と、実際の利用例として再帰クエリを使ったロック競合解析の方法を解説します。 共通表式 WITH 句 あるクエリの中で他のクエリの結果を使う方法には、既にサブクエリがあります。WITH 句は、サブクエリの結果に名前をつけ、クエリの複数の箇所からその結果を参照するための構文です。そのクエリの中だけで使用できる一時表 (TEMP TABLE) を作るのに近い動作になります。 利用例としては、あるサブクエリの結果を複数の列と比較する場合が挙げられます。例えば以下のように、表 keyword_list から取得した結果を、表 document の keyword1, key

  • Window関数 — Let's Postgres

    また、CREATE FUNCTION 文でユーザ定義のWindow関数を追加することもできますが、バージョン 8.4 ではC言語で関数を記述する必要があります。SQLやPL/pgSQLは使えないので、敷居は高いかもしれません。 例 典型的なWindow関数の使い方を挙げます。この他にも、これまで複雑なSQLが必要だったさまざまなケースを効率化できる可能性がありますので、SQLパズルだと思って試してみてください。。 連番付与 連番付与を行います。ソートした後、番号をふるのがポイントです。 SELECT row_number() OVER (), * FROM (SELECT * FROM tbl ORDER BY sortkey) AS t; ただし、結果の最大行数を指定するには、row_number との値の比較ではなく、これまでどおり LIMIT 句を使ってください。row_number

  • PostgreSQL 9.3の新機能: 更新可能VIEW | Let's POSTGRES

    SRA OSS, Inc. 日支社 石井 達夫 現在開発中のPostgreSQL 9.3ですが、徐々に新機能が出揃ってきました。その中の一つに「更新可能VIEW」("Updatable view")というのがあります。これはその名の通り、更新可能なVIEWを作る機能です。 VIEWとは? VIEWとは、実際には存在しないテーブルのことで、CREATE VIEWというコマンドを使って定義します。VIEWは一種のマクロと考えることができ、よく使うSELECT文をVIEWとして定義することにより、複雑なSELECT文を毎回打ち込む手間を省くことができます。 たとえば、 CREATE VIEW mytable_foo AS SELECT * FROM mytable WHERE id = 'foo'; としておくと、 SELECT * FROM mytable_foo; とするだけで、 SELE

  • psqlを使ってみよう — Let's Postgres

    ¥copy : 遠隔データロード データロードには、一般に COPY コマンドを使います。データベース・サーバ上にあるファイルからのロードの他、COPY FROM STDIN の形式でネットワーク経由でのロードもできます。psql の ¥copy メタコマンドは、この COPY FROM STDIN の別名です。 =# ¥copy テーブル from 'ローカルパス'; SQL の COPY とは異なり、ファイル名には psql を実行するマシンでのローカルパスを指定します。このパスは絶対パス、相対パスのどちらでも構いません。 ¥x : 列を縦に展開表示 列数が多く、ターミナル画面で1行が折り返されてしまう場合には、¥x で列を縦に表示させると読みやすくなります。デフォルトでは行と列を格子状に表示しますが: =# SELECT oid, datname FROM pg_database;

  • SQLを使ってログ解析をしよう | Let's POSTGRES

    各項目がカンマ区切りのテキストで1行を構成します。実際には下記のような内容です。 (注)幅の関係で1行のデータを2行に分けて記述しています。 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:03,1,277,DoSearch,sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:04,2,115,ShowList,sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:06,3,344,DoSearch,date 20100701 sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017

    mahler-5
    mahler-5 2015/07/18
  • 1