PostgreSQL

PostgreSQLのプランナとの付き合い方

はじめに

※本記事は、PGConf India 2025での講演内容を書き下ろしたものです。

プランナは、与えられたSQLに対して最適な実行方法を自動的に選択してくれるデータベースの最も重要なコンポーネントの1つです。ユーザはSQLを通じて何をしたいのかを伝えるだけで、プランナはどういう計算をどのような順序で行うと最適かを考えてくれます。
例えば、次のようなSQLがあるとします:

続きを読む

PGConf.dev 2025 参加レポート

2025/5/13〜16 にかけて、カナダのモントリオールで開催された PGConf.dev 2025 に参加しましたので報告いたします。

はじめに

PGConf.dev の正式名称は PostgreSQL Development Conference で、PostgreSQL のユーザや開発者、コミュニティ関係者が集まる、PostgreSQL の開発とコミュニティの発展に焦点を当てたイベントです。 今回、株式会社SRA OSSはシルバースポンサーとして、このカンファレンスを支援しました。

続きを読む

PostgreSQL 17.5 に関する技術情報

このリリースは 17.4 からの修正リリース(2025年 5月 8日リリース)です。
17.X からのアップデートではダンプ、リストアは不要です。

ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、BRIN bloomインデックスを使用している場合には、インデックス再作成することを推奨します。下記の3番の項目を参照してください。

また、17.1 よりも前のバージョンからアップデートする場合には、17.1のリリース情報も参照してください。

続きを読む

PostgreSQL 16.9 に関する技術情報

このリリースは 16.8 からの修正リリース(2025年 5月 8日リリース)です。
16.X からのアップデートではダンプ、リストアは不要です。

ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、BRIN bloomインデックスを使用している場合には、インデックス再作成することを推奨します。下記の3番の項目を参照してください。

ただし、16.5 よりも前のバージョンからアップデートする場合には、16.5のリリース情報も参照してください。

続きを読む

PostgreSQL 15.13 に関する技術情報

このリリースは 15.12 からの修正リリース(2025年 5月 8日リリース)です。
15.X からのアップデートではダンプ、リストアは不要です。

ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、BRIN bloomインデックスを使用している場合には、インデックス再作成することを推奨します。下記の3番の項目を参照してください。

また、15.9 よりも前のバージョンからアップデートする場合には、15.9のリリース情報も参照してください。

続きを読む

PostgreSQL 14.18 に関する技術情報

このリリースは 14.17 からの修正リリース(2025年 5月 8日リリース)です。
14.X からのアップデートではダンプ、リストアは不要です。

ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。
また、BRIN bloomインデックスを使用している場合には、インデックス再作成することを推奨します。下記の3番の項目を参照してください。

また、14.14 よりも前のバージョンからアップデートする場合には、14.14のリリース情報も参照してください。

続きを読む

PostgreSQL 13.21 に関する技術情報

このリリースは 13.20 からの修正リリース(2025年 5月 8日リリース)です。
13.X からのアップデートではダンプ、リストアは不要です。

ただし、パーティションテーブルに自己参照の外部キー制約がある場合には、これらの制約を再作成する必要があります。下記の2番の項目を参照してください。

また、13.17 よりも前のバージョンからアップデートする場合には、13.17のリリース情報も参照してください。

続きを読む

eudcで外字を文字コード変換

eudc とは

皆さんの携わるシステムでは外字を使っていますでしょうか。外字とは各文字エンコーディングでユーザ外字領域や私用領域として定められているコードに割り当てられた字のことです。よく知られている用途としては SJIS で動作していたかつての携帯電話で使われていた絵文字があります。

PostgreSQL は、データベースのサーバ文字エンコーディングである UTF8 や EUC_JP、EUC_JIS_2004 において外字を利用可能です。そのコードにどのような字形が割り当てられているかは関知しませんが、外字用とされているコード範囲の文字を読み書きすることができます。

一方で PostgreSQL はクライアント文字エンコーディングからサーバ文字エンコーディングの変換で、一部について外字をサポートしません。日本語の文字エンコーディングでしばしば問題となるのは、サーバ側が UTF8 でクライアント側が SJIS や EUC_JP の場合です。これらの変換では外字はエラーになってしまいます。

続きを読む

FOSSASIA Summit / PGDay 2025 参加レポート

2025年3月13日〜15日にタイ・バンコクで開催された FOSSASIA Summit 2025 および FOSSASIA PGDay 2025 に参加しましたので、その内容を報告いたします。

はじめに

FOSSASIA は、オープンソース技術の促進と開発を目的としたアジア最大級のコミュニティであり、オープンソースソフトウェア(FOSS: Free and Open Source Software)に加え、ハードウェア、オープンデータ、AI などの分野で活動しています。FOSSASIA Summit は、このコミュニティが毎年開催するアジア最大級のオープンソース技術イベントであり、開発者、イノベーター、企業、教育者が一堂に会し、知識と技術を共有する場となっています。

FOSSASIA Summit 2025 受付

続きを読む