【2025 年 8 月版】Amazon Linux 2023 に PostgreSQL をインストール
Amazon Linux 2023 に PostgreSQL をインストールする手順を説明します。
環境 (バージョン)
- AMI
- Amazon Linux 2023 AMI 2023.8.20250818.0 x86_64 HVM kernel-6.1
- PostgreSQL
- 16.9
2025/08/29 時点の環境で確認しています。
PostgreSQL インストール
2025 年 8 月現在、リリースされてからしばらく時間が経って安定している 16 系をインストールします。
(リリース日: 2023年9月14日、サポート終了日: 2028年11月9日)
$ sudo dnf -y install postgresql16-server postgresql16-server-devel
PostgreSQL 初期設定
インストール後にデータベースを初期化するコマンドを実行します。
$ sudo postgresql-setup initdb
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
PostgreSQL を起動して、サーバー再起動時にも自動的に起動するようにします。
$ sudo systemctl start postgresql
$ sudo systemctl enable postgresql
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.
権限周りの設定は一番手軽な設定を行います。
AWS のデフォルトユーザーである ec2-user で EC2 にログインした場合を想定し、その場合に PostgreSQL を手軽に操作できるような設定を行います。
詳しくは PostgreSQL マニュアルの「クライアント認証」を参照してください。
「postgres (Linux)」 で createuser コマンドを実行して、データベースを作成可能なユーザー「ec2-user (PostgreSQL)」を作成します。
PostgreSQL デフォルト設定では、「ec2-user (Linux)」で PostgreSQL に接続した場合は「ec2-user (PostgreSQL)」の権限が適用されます。
$ sudo -u postgres -i createuser -d ec2-user
PostgreSQL 動作確認
PostgreSQL のスーパーユーザーでアクセスして、データベースの一覧を表示。
$ sudo -u postgres psql
psql (16.9)
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Locale Provider | Collate | Ctype | ICU Locale | ICU Rules | Access privileges
-----------+----------+----------+-----------------+---------+---------+------------+-----------+-----------------------
postgres | postgres | UTF8 | libc | C.UTF-8 | C.UTF-8 | | |
template0 | postgres | UTF8 | libc | C.UTF-8 | C.UTF-8 | | | =c/postgres +
| | | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | libc | C.UTF-8 | C.UTF-8 | | | =c/postgres +
| | | | | | | | postgres=CTc/postgres
(3 rows)
postgres=# exit
ec2-user でデータベース (testdb) を作成して、アクセスできることの確認。
$ createdb testdb
$ psql testdb
psql (16.9)
Type "help" for help.
testdb=> exit
$ dropdb testdb
おわりに
この手順でインストールできない場合や、別のソフトウェアのインストールをご希望の場合は、お問い合わせよりご連絡ください。