はじめに
※本記事は、PGConf India 2025での講演内容を書き下ろしたものです。
プランナは、与えられたSQLに対して最適な実行方法を自動的に選択してくれるデータベースの最も重要なコンポーネントの1つです。ユーザはSQLを通じて何をしたいのかを伝えるだけで、プランナはどういう計算をどのような順序で行うと最適かを考えてくれます。
例えば、次のようなSQLがあるとします:
オープンソースのリレーショナルデータベース管理システム (RDBMS) 。
問い合わせ言語に SQL を用い、標準 SQL の大部分とその他の先進的な機能をサポートする本格的なRDBMS。
※本記事は、PGConf India 2025での講演内容を書き下ろしたものです。
プランナは、与えられたSQLに対して最適な実行方法を自動的に選択してくれるデータベースの最も重要なコンポーネントの1つです。ユーザはSQLを通じて何をしたいのかを伝えるだけで、プランナはどういう計算をどのような順序で行うと最適かを考えてくれます。
例えば、次のようなSQLがあるとします:
このリリースは 17.4 からの修正リリース(2025年 5月 8日リリース)です。
17.X からのアップデートではダンプ、リストアは不要です。
ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、BRIN bloomインデックスを使用している場合には、インデックス再作成することを推奨します。下記の3番の項目を参照してください。
また、17.1 よりも前のバージョンからアップデートする場合には、17.1のリリース情報も参照してください。
このリリースは 16.8 からの修正リリース(2025年 5月 8日リリース)です。
16.X からのアップデートではダンプ、リストアは不要です。
ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、BRIN bloomインデックスを使用している場合には、インデックス再作成することを推奨します。下記の3番の項目を参照してください。
ただし、16.5 よりも前のバージョンからアップデートする場合には、16.5のリリース情報も参照してください。
このリリースは 15.12 からの修正リリース(2025年 5月 8日リリース)です。
15.X からのアップデートではダンプ、リストアは不要です。
ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、BRIN bloomインデックスを使用している場合には、インデックス再作成することを推奨します。下記の3番の項目を参照してください。
また、15.9 よりも前のバージョンからアップデートする場合には、15.9のリリース情報も参照してください。
このリリースは 14.17 からの修正リリース(2025年 5月 8日リリース)です。
14.X からのアップデートではダンプ、リストアは不要です。
ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、BRIN bloomインデックスを使用している場合には、インデックス再作成することを推奨します。下記の3番の項目を参照してください。
また、14.14 よりも前のバージョンからアップデートする場合には、14.14のリリース情報も参照してください。
このリリースは 13.20 からの修正リリース(2025年 5月 8日リリース)です。
13.X からのアップデートではダンプ、リストアは不要です。
ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、13.17 よりも前のバージョンからアップデートする場合には、13.17のリリース情報も参照してください。
本記事では、PostgreSQL 9.0 より導入された「ストリーミングレプリケーション」の概要、構築方法について紹介します。
記事内の各リンクについて、特記のないものはすべてPostgreSQL16.0文書の該当項目へのリンクとなっております。
皆さんの携わるシステムでは外字を使っていますでしょうか。外字とは各文字エンコーディングでユーザ外字領域や私用領域として定められているコードに割り当てられた字のことです。よく知られている用途としては SJIS で動作していたかつての携帯電話で使われていた絵文字があります。
PostgreSQL は、データベースのサーバ文字エンコーディングである UTF8 や EUC_JP、EUC_JIS_2004 において外字を利用可能です。そのコードにどのような字形が割り当てられているかは関知しませんが、外字用とされているコード範囲の文字を読み書きすることができます。
一方で PostgreSQL はクライアント文字エンコーディングからサーバ文字エンコーディングの変換で、一部について外字をサポートしません。日本語の文字エンコーディングでしばしば問題となるのは、サーバ側が UTF8 でクライアント側が SJIS や EUC_JP の場合です。これらの変換では外字はエラーになってしまいます。
このリリースは 17.3 からの修正リリース(2025年 2月 20日リリース)です。
17.X からのアップデートではダンプ、リストアは不要です。
ただし、17.1 よりも前のバージョンからアップデートする場合には、17.1のリリース情報も参照してください。
このリリースは 16.7 からの修正リリース(2025年 2月 20日リリース)です。
16.X からのアップデートではダンプ、リストアは不要です。
ただし、16.5 よりも前のバージョンからアップデートする場合には、16.5のリリース情報も参照してください。