⭐ Fix style in a few REPACK ereports
Álvaro Herrera
REPACK (CONCURRENTLY) のerrhintメッセージにおける一貫性のない命名を修正し、ereport()メッセージを改善しました。
⭐ Use "grep -E" not "egrep".
Tom Lane
egrepコマンドの使用を非推奨のgrep -Eに置き換え、POSIX標準への準拠を強化しました。
⭐ pgindent: improve formatting of multiline comments.
Tom Lane
pgindentツールが複数行コメントを整形する際の標準的なフォーマットを強制するようになりました。
⭐ Make pg_bsd_indent add a space between comma and period.
Tom Lane
pg_bsd_indentが可変長関数や名前付きフィールドを持つ構造体リテラルのコンマとピリオドの間にスペースを追加するように修正されました。
⭐ pgindent: Fix spacing after != when member name matches typedef.
Nathan Bossart
pgindentが、メンバー名がtypedefと一致する場合に!=などの演算子の後のスペースを誤って削除する問題を修正しました。
⭐ Fix FOR PORTION OF with non-updatable view columns
Peter Eisentraut — Discussion: message-id
UPDATEおよびDELETE文が、FOR PORTION OF句を使用する際に、非更新可能なビュー列のチェックに失敗するバグを修正しました。
なぜ必要か: アプリケーション時間列が更新可能かどうかを正しく検証しないために、データ整合性の問題や予期せぬエラーが発生していました。
技術的課題: アプリケーション時間列がperminfo->updatedColsに含まれていなかったため、権限チェックが行われず、またDELETEの場合にもチェックが必要でした。
⭐ pg_stat_statements: Set PlannedStmt to NULL after nested utility execution
Michael Paquier — Discussion: 0A9A8DAC-BC3C-4C7A-9504-2C6050405544@anarazel.de
pgss_ProcessUtility()が内部ROLLBACK後にPlannedStmtを解放する可能性があるため、このコミットは、安全でなくなったPlannedStmtポインタをNULLに設定することで、同様のバグの検出を容易にします。
なぜ必要か: 解放されたメモリへのアクセスを防ぎ、システムの安定性とバグの早期発見を向上させるため。
技術的課題: pgss_ProcessUtility()内での内部ROLLBACK発生時にPlannedStmtが解放され、その後NULLに設定されないことで、PlannedStmtへの不適切なアクセスが発生する可能性がありました。
⭐ Add more tests for corrupted data with pglz_decompress()
Michael Paquier — Discussion: agF4xkIdRcrCIprs@paquier.xyz
pglz_decompress()関数で破損したデータ処理に関する未カバーのテストケースが追加されました。
⭐ Fix stale COPY progress during logical replication table sync
Fujii Masao
論理レプリケーションのテーブル同期中にpg_stat_progress_copyが古い進捗情報を表示し続ける問題を修正しました。
なぜ必要か: 論理レプリケーションの進捗を正確に監視し、運用者が誤解を招く情報を受け取らないようにするため。
技術的課題: BeginCopyFrom()とCopyFrom()が呼び出された後、EndCopyFrom()が呼び出されていなかったため、古い進捗エントリが残り続けていました。
Add several commits to .git-blame-ignore-revs.
Nathan Bossart
Pre-beta updates: run src/tools/copyright.pl.
Tom Lane
Do pre-release housekeeping on catalog data.
Tom Lane
Add preceding commits to .git-blame-ignore-revs.
Tom Lane
Pre-beta mechanical code beautification, step 3: run reformat-dat-files.
Tom Lane
Pre-beta mechanical code beautification, step 2: run pgperltidy.
Tom Lane
Pre-beta mechanical code beautification, step 1: run pgindent.
Tom Lane
HN ニュース
⭐ Launch HN: Ardent (YC P26) – Postgres sandboxes in seconds with zero migration
スコア: 51 / コメント: 20
PostgreSQLサンドボックスを迅速に構築し、データ移行なしで利用できる新サービス「Ardent」がHacker Newsで発表されました。
⭐ We built our own message queue for AI agents (and put it on Postgres)
スコア: 2 / コメント: 0
AIエージェント向けのカスタムメッセージキューをPostgreSQL上に構築した事例が紹介されています。
Show HN: Torrix, self hosted, LLM Observability,(no Postgres, no Redis)
スコア: 25 / コメント: 1
LLMのオブザーバビリティを提供するセルフホスト型ツール「Torrix」が発表されました(Postgresは使用していません)。
Show HN: Diom – Open-source back end primitives with no runtime dependencies
スコア: 4 / コメント: 0
ランタイム依存性のないオープンソースのバックエンドプリミティブ「Diom」がHacker Newsに登場しました。
まとめ
本日のPostgreSQLニュースダイジェストは、主にPostgreSQLコアのコード品質向上と開発プロセスの機械的な整備に焦点が当てられていました。特にpgindentやpg_bsd_indentといった整形ツールの改善が目立ち、開発効率とコードの一貫性向上への取り組みがうかがえます。また、論理レプリケーションやFOR PORTION OF句に関する重要なバグ修正が提供され、PostgreSQLの堅牢性がさらに高まりました。Hacker Newsでは、PostgreSQLサンドボックスの新たなサービスが注目を集め、PostgreSQLがAIエージェントのバックエンドとしても利用されている事例が紹介されるなど、エコシステムの広がりも感じられる一日でした。
本ダイジェストはHacker News・GitHub・PostgreSQLメーリングリストの情報を元にgeminiで生成しました。