PostgreSQL 16 インストールログ
PostgreSQL 16をネット上からインストール
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Installed:
pgdg-redhat-repo-42.0-45PGDG.noarch
Complete!
# sudo dnf -qy module disable postgresql
Importing GPG key 0x08B40D20:
Userid : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>"
Fingerprint: D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20
From : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL
# sudo dnf install postgresql16-server
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
postgresql16-server x86_64 16.5-1PGDG.rhel8 pgdg16 6.7 M
Installing dependencies:
postgresql16 x86_64 16.5-1PGDG.rhel8 pgdg16 1.9 M
postgresql16-libs x86_64 16.5-1PGDG.rhel8 pgdg16 328 k
Transaction Summary
================================================================================
Install 3 Packages
Total download size: 8.9 M
Installed size: 39 M
Is this ok [y/N]: y
Importing GPG key 0x08B40D20:
Userid : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>"
Fingerprint: D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20
From : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL
Is this ok [y/N]: y
Installed:
postgresql16-16.5-1PGDG.rhel8.x86_64
postgresql16-libs-16.5-1PGDG.rhel8.x86_64
postgresql16-server-16.5-1PGDG.rhel8.x86_64
Complete!
※必要ならpostgresql16-contrib もインストールしておくと便利!?
# sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
Initializing database ... OK
# sudo systemctl enable postgresql-16
# sudo systemctl start postgresql-16
# systemctl status postgresql-16
● postgresql-16.service - PostgreSQL 16 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-16.service; enabled; vendo
Active: active (running) since Wed 2024-11-20 10:12:50 JST; 4s ago
Docs: https://www.postgresql.org/docs/16/static/
Process: 1341193 ExecStartPre=/usr/pgsql-16/bin/postgresql-16-check-db-dir ${P
Main PID: 1341199 (postgres)
Tasks: 7 (limit: 12085)
PostgreSQL 16動作を確認すべき最低限設定
# vi /var/lib/pgsql/16/data/postgresql.conf
# - Connection Settings -
listen_addresses = '*'
##Change the listen Port here<br>#port = 5436
# vi /var/lib/pgsql/16/data/pg_hba.conf
host all all 127.0.0.1/32 trust
# sudo systemctl restart postgresql-16
Install PostgreSQL 16 on Rocky Linux 8/AlmaLinux 8
https://computingforgeeks.com/install-postgresql-on-rocky-alma-linux/
PostgreSQL 16 は、2023年9月に正式リリースされたオープンソースのリレーショナルデータベース管理システムの最新版で、多くのパフォーマンス改善、SQL機能の拡張、セキュリティ強化、管理性向上が図られています。以下に主な特徴をまとめます。
✅ PostgreSQL 16 の主な特徴
1. パフォーマンス向上
- 並列クエリの改善:
FULL
,RIGHT
OUTER JOIN での並列処理対応。SELECT DISTINCT
の並列化。
- ウォル(WAL: Write-Ahead Logging)生成量の削減:
- 特に大量INSERT/UPDATE処理でディスクI/Oの負荷軽減。
- ソートの最適化:
- より高速なソートアルゴリズムと効率的なメモリ使用。
- 共有バッファキャッシュの改善:
- 一部の操作でキャッシュの再利用効率が向上。
2. 開発者向けの機能強化
SQL/JSON
標準の一部サポート:JSON_TABLE()
関数の一部が利用可能に。
- より柔軟なロール・パーミッション管理:
GRANT
/REVOKE
でのROLE
の継承やチェイン制御が強化。
- 新しいSQL機能:
MERGE
文(PostgreSQL 15で導入)の最適化。- より詳細なエラーメッセージと診断。
3. ロジカルレプリケーションの強化
- 複数テーブルのサブスクリプション管理が柔軟に:
- 複数のテーブルの個別同期が可能。
- シーケンスのロジカルレプリケーション対応:
- 従来は物理レプリケーションでしか扱えなかったものが、より細かく論理的に制御可能に。
4. セキュリティと管理性の向上
- アクセス制御の詳細設定:
pg_hba.conf
における複数条件の指定(include
,@map
, etc)。
- ログ出力のカスタマイズ強化:
- クエリ計画のログ出力オプションが増加。
- バックアップとリカバリ操作の改善:
pg_basebackup
の機能強化(例:tar.gz
形式対応)。
5. 国際化とロケール対応
- ICU(International Components for Unicode)によるコレーション(照合順序)管理の強化により、マルチリンガル対応が改善されました。
🔄 バージョンアップ時の注意点
- PostgreSQL 16 は設定ファイルの形式や一部SQL動作仕様に変更があるため、15以前からの移行時は事前検証が重要です。
pg_upgrade
を使った高速移行が可能。