みなさん、こんばんは。サニービュー事業部の小寺です。Amazon RDS for PostgreSQLでマイナーバージョンのサポートがあり、さらにseg拡張機能も利用できるようになりました。

https://aws.amazon.com/jp/about-aws/whats-new/2023/02/amazon-rds-postgresql-new-minor-versions/

アップデート内容について

Amazon Relational Database Service (Amazon RDS) for PostgreSQL において、PostgreSQL マイナーバージョン 14.6、13.9、12.13、11.18、10.23 をサポートするようになりました。今、PostgreSQLをお使いの方は最新バージョンへのアップデートを推奨します。

アップデートとしては、既知のセキュリティに対する問題が解決されているものであり、主に以下のアップデートがされています。

・DEFAULT が設定された複数行の VALUES 句を含む INSERT ステートメントの更新可能なビューを修正しました。
・ON SELECT ルールではない _RETURN という名前のルールを禁止します。
・外部テーブル パーティションを持つパーティション テーブルでの MERGE の使用を禁止
・ALTER TABLE ... ATTACH PARTITION の実行中にパーティションごとの外部キー制約が構築される問題を修正しました。以前は不適切または重複した制約が利用されていました
・パーティション化されたテーブルまたは継承されたテーブルの拡張統計でプランナーが失敗する問題を修正しました。
・トランザクションの開始とそのサブトランザクションの開始の間のポイントからリプレイが開始されると、メモリリークを引き起こす可能性がある論理デコードのバグを修正しました。
・割り込みを許可することで、レプリケーションワーカーのシャットダウンが遅い問題が修正されています。
・外部テーブルパーティションへの論理レプリケーションを禁止します。
・SQL または PL/pgSQL 関数の構文エラーの後にレプリケーションがクラッシュするのを防ぐことができるよう修正されています。
・クエリがキャンセルされた場合、psql -c はゼロ以外のステータスで終了するようになりました。
・pg_basebackup でクロスプラットフォームのテーブルスペースの再配置を許可するようになりました
・一部の CHECK 制約に添付されたコメントを含めるように pg_dump を修正されています。

追加された拡張機能

さらに今回のアップデートで2つのRDS for PostgreSQLの追加拡張機能があり、tcnとsegの2つが追加になっています。tcnは テーブルに書き込みが行われるたびに非同期通知を送信するトリガー関数を提供する拡張機能です。

segについてはさらに追加の正式サポートが発表されています。 segは 線分の保存とクエリに使用される「seg」データ型を扱えますが、間隔の終端内の不確定性を表すことができ、特に実験計測の分野では有効だとされてます。

内部的にseg値には32ビット浮動小数点数値の組合せが格納されます。 これは7桁以上の有効桁を持つ数値が切り詰められることを意味します。

有効桁が正確に7桁、または7桁未満の数値は元のデータの精度が保たれます。 つまり、問い合わせが0.00を返す場合、最後の0が書式付けのための誤差にならなくなります。計測や実験、統計の分野において、例えば、「2.5」と「2.50」全く異なる意味を持ちます。segデータ型は特別なデータ型として有効です。

あまり馴染みがない方も多いかもしれませんが、この機会にマイナーアップデートの実施をしてみてはいかがでしょうか。