[アップデート] Amazon Aurora PostgreSQL 17.7 がリリースされたので、Babelfish 5.4 のアップデート内容を確認してみた

[アップデート] Amazon Aurora PostgreSQL 17.7 がリリースされたので、Babelfish 5.4 のアップデート内容を確認してみた

2025.12.21

いわさです。

先日、Aurroa PostgreSQL 17.6 の追加に伴う Babelfish 5.3 のアップデートについてブログを書きました。

https://dev.classmethod.jp/articles/aurora-postgresql-17-6-babelfish-5-3/

Aurora PostgreSQLS 17.6 のリリース自体 11 月に行われており、ちょっと遅いブログ紹介になってしまったのですが、そうこうしているうちに Aurora PostgreSQL 17.7 もリリースされてしまいました。本家の 17.7 のリリースが 2025 年 11 月 13 日だったので Aurora に搭載されるのが今回は早いですね。

https://aws.amazon.com/about-aws/whats-new/2025/12/amazon-aurora-postgresql-17-7-16-11-15-15-14-20-13-23/

2117A378-C1FB-42D0-92CB-61FFD3F0D9E5.png

またいつものように Babelfish の最新バージョンの確認を行ってみたいと思います。

PostgreSQL 17.7 のアップデート内容

PostgreSQL 17.7 のリリースノートは以下です。CVE-2025-12817 や CVE-2025-12818 へのセキュリティ問題への対応が含まれていたり、小さなバグが大量に修正されていますね。
リリースノート見た感じだと破壊的な変更は無さそうなので計画的にアップデートをしていきたいです。

https://www.postgresql.org/docs/release/17.7/

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html#aurorapostgresql-versions-version177x

Aurora PostgreSQL 固有の新機能や安定性向上なども含まれています。
新機能については Blue/Green スイッチオーバー操作中のダウンタイムが改善されていたり、小規模なインスタンスを使っている時のリカバリ時間が改善されているようです。
安定性としてはコールドスタートのパフォーマンス向上、Serverless v2 のメモリフットプリント改善などが含まれています。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html#aurorapostgresql-versions-version177x

また、今回のリリースで PostgreSQL 13 にコミュニティ版は最終リリースとなります。[1]
Aurora PostgreSQL の場合は 13.23 の標準サポート終了は 2026 年 2 月 28 日までとなっています。それ以降は延長サポート料金が発生するのでメジャーバージョンアップも計画しましょう。

Babelfish 5.4 のアップデート内容

まずはバージョン確認から行ってみましょう。前回はバグによって新規クラスターで接続できない問題[2]が発生していたのでちょっとドキドキします。

% psql -h hoge1221postgres.cluster-cpnu9ipu74g4.ap-northeast-1.rds.amazonaws.com -U postgres -d babelfish_db
Password for user postgres: 
psql (14.15 (Homebrew), server 17.7)
WARNING: psql major version 14, server major version 17.
         Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

babelfish_db=> SELECT aurora_version() AS aurora_version, version() AS postgresql_version, sys.version() AS Babelfish_compatibility, sys.SERVERPROPERTY('BabelfishVersion') AS Babelfish_Version;
 aurora_version |                                        postgresql_version                                        |                           babelfish_compatibility                           | babelfish_version 
----------------+--------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------
 17.7.0         | PostgreSQL 17.7 on x86_64-pc-linux-gnu, compiled by x86_64-pc-linux-gnu-gcc (GCC) 10.5.0, 64-bit | Babelfish for Aurora PostgreSQL with SQL Server Compatibility - 12.0.2000.8+| 5.4.0
                |                                                                                                  | Dec  6 2025 06:48:07                                                       +| 
                |                                                                                                  | Copyright (c) Amazon Web Services                                          +| 
                |                                                                                                  | PostgreSQL 17.7 on x86_64-pc-linux-gnu (Babelfish 5.4.0)                    | 
(1 row)

(END)

お、問題なく接続出来ましたね、良かった。
Babelfish のバージョンは 5.4.0 です。互換性はSQL Server Compatibility - 12.0.2000.8+(SQL Server 2014)のままですね。ここはずっと変わらなそうです。

新機能を確認

Babelfish 5.4.0 のリリースノートはこちらです。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraBabelfish.Updates.html#AuroraBabelfish.Updates.54X

5.3.0 は新機能による互換性改善は多くなかったですが、今回は結構ありますね。
SELECT TOP N PERCENTがサポート(制限あり)されたりsp_xml_xxx系のプロシージャや XML データタイプでOPENXML().VALUE()がサポートされるようになっているようです。[3]

今回はSELECT TOP N PERCENTを試してみましょう。
TOP句はクエリ結果として返される行数を制限できる機能ですが、行数の指定以外にオプションでパーセントを指定することも出来ます。

% sqlcmd -S hoge1221postgres.cluster-cpnu9ipu74g4.ap-northeast-1.rds.amazonaws.com -U postgres -N -C
Password:
1> CREATE TABLE Sales (
2>     ID INT IDENTITY(1,1) PRIMARY KEY,
3>     ProductName NVARCHAR(50),
4>     SalesAmount DECIMAL(10,2),
5>     SalesDate DATE
6> );
7> go
1> INSERT INTO Sales (ProductName, SalesAmount, SalesDate) VALUES
2> ('Product A', 1000.00, '2024-01-15'),
3> ('Product B', 1500.00, '2024-01-20'),
4> ('Product C', 800.00, '2024-02-10'),
5> ('Product D', 2000.00, '2024-02-15'),
6> ('Product E', 1200.00, '2024-03-05'),
7> ('Product F', 900.00, '2024-03-12'),
8> ('Product G', 1800.00, '2024-04-08'),
9> ('Product H', 700.00, '2024-04-20'),
10> ('Product I', 2200.00, '2024-05-03'),
11> ('Product J', 1100.00, '2024-05-18');
12> go
(10 rows affected)
1> SELECT TOP 30 PERCENT *
2> FROM Sales
3> ORDER BY SalesAmount DESC;
4> go
ID          ProductName                                        SalesAmount  SalesDate       
----------- -------------------------------------------------- ------------ ----------------
          9 Product I                                               2200.00       2024-05-03
          4 Product D                                               2000.00       2024-02-15
          7 Product G                                               1800.00       2024-04-08

(3 rows affected)
1> 

上位 30 % のレコードとして 3 件だけ取得されましたね。
ちなみに Babelfish 固有の制限事項ですが、TOP N PERCENT 句は SELECT 以外もサポートしているのですが Babelfish ではサポートされていません。また TOP 句ないのでサブクエリもサポートされていません。制限事項に注意しながら利用してみてください。[4]

さいごに

本日は Amazon Aurora PostgreSQL 17.7 がリリースされたので、Babelfish 5.4 のアップデート内容を確認してみました。

Bablefish としての互換性強化も少しされていますが、Aurora PostgreSQL の CVE 対応が含まれているので優先的にアップデートしたいですね。

脚注
  1. PostgreSQL: PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 Released! ↩︎

  2. Aurora PostgreSQL で Babelfish を有効化したクラスターを作成しても babelfish_db が作成されない時に最低限確認すべきポイント | DevelopersIO ↩︎

  3. Babelfish supports XML datatype methods - Amazon Aurora ↩︎

  4. Using Babelfish features with limited implementation - Amazon Aurora ↩︎

この記事をシェアする

FacebookHatena blogX

関連記事