タグ

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

  • LATERALを使ってみよう | Let's POSTGRES

    笠原 辰仁 記事は2015年のPostgreSQL Advent Calendarの 12/3 の記事です。PostgreSQL9.3でサポートされたLATERALについての解説と使いどころについて紹介します。 はじめに PostgreSQLは幅広くSQL標準(ではないものも含む)の句や構文をサポートしており、それが製品の特徴の一つでもあります。PostgreSQL8.4でサポートされたWindow関数やWITH句はその引き合いに出されることが多いです。 さて、PostgreSQL9.3からはLATERALという句がサポートされています。やや地味で使われることが少ないため、ご存知の方は少ないかもしれません。しかし、LATERAL句は、使いどころによっては非常に強力な武器になります。 注意 記事ではテーブル定義や実行計画等を記載している箇所がありますが、幅の表示上、見やすいように改行して

  • PostgreSQL 9.0 のその他の新機能 — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 PostgreSQL の主要な新機能はこちらを参照してください。 Windows のイベントログやコンソール出力の文字化け修正 PostgreSQL で日語を扱う場合、サーバエンコーディングには UTF-8 または EUC_jp を選ばなければなりません。しかし、Windows のイベントログやコンソールではエンコーディングを SJIS にして出力する必要があるため、サーバログが文字化けしていました。v9.0 ではログをユニコードで出力するようになり、この問題が解消されています。 pg_ctl reload した際に変更があったパラメータをログに出力 どのパラメータが変更されたかが分かりやすくなりました。 ALTER TABLESPACE seq_page_cost, random_page_cost テーブルスペースごとにオプティマ

  • LATERALを使ってみよう | Let's POSTGRES

    笠原 辰仁 記事は2015年のPostgreSQL Advent Calendarの 12/3 の記事です。PostgreSQL9.3でサポートされたLATERALについての解説と使いどころについて紹介します。 はじめに PostgreSQLは幅広くSQL標準(ではないものも含む)の句や構文をサポートしており、それが製品の特徴の一つでもあります。PostgreSQL8.4でサポートされたWindow関数やWITH句はその引き合いに出されることが多いです。 さて、PostgreSQL9.3からはLATERALという句がサポートされています。やや地味で使われることが少ないため、ご存知の方は少ないかもしれません。しかし、LATERAL句は、使いどころによっては非常に強力な武器になります。 注意 記事ではテーブル定義や実行計画等を記載している箇所がありますが、幅の表示上、見やすいように改行して

  • 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

  • 現場で役立つ実践ノウハウWeb開発の「べし」「べからず」 | Let's POSTGRES

    ~性能を最大限に引き出すための設計・開発・運用~ 永安 悟史 記事は、技術評論社 WEB+DB PRESS Vol.63 で掲載されたものを、著者と出版社の許可を得て転載したものです。なお、一部 記述に変更のある箇所もあります。 アーキテクチャから理解するデータベース データベースの技術は長い歴史の蓄積があり、その実装であるデータベース製品は非常に複雑なソフトウェアとなっています。そのため、深く理解するにはそれなりの学習期間と経験を必要とします。 章では、データベースの中でも特にリレーショナルデータベース(RDBMS)について、理解するためのポイント/観点と、具体的に開発/運用時に注意すべき点について解説します。 データベースの理解は「立体的」に データベースの挙動をきちんと理解するためには、データベースを構成する要素を「立体的」、つまり複数の角度/軸で理解する必要があります。 処理の

    aki77
    aki77 2011/11/28
  • 1