第1章の動作確認
完了要件
AlmaLinux 9またはUbuntu 24にPostgreSQLをインストールして、実習環境を正しく構築できていることを確認します。
1.1 PostgreSQLのインストールと初期設定(AlmaLinuxの場合)
以下を確認します。なお、OS管理者権限(sudoコマンド)を行使できるadminユーザでログインして実行します。
- postgresユーザを作成する
- postgresqlをインストールし、サーバを起動する
postgresユーザの作成
login as: admin
admin@localhost's password: ※adminユーザのパスワードを入力
Last login: Tue May 14 14:23:59 2024 from 10.0.2.2
[admin@host1 ~]$ sudo useradd postgres
[sudo] admin のパスワード: ※adminユーザのパスワードを入力
[admin@host1 ~]$ sudo passwd postgres
ユーザー postgres のパスワードを変更。
新しい パスワード: ※postgresユーザに設定するパスワードを入力
正しくないパスワード: このパスワードは 8 文字未満の文字列です
新しい パスワードを再入力してください: ※postgresユーザのパスワードを再入力
passwd: すべての認証トークンが正しく更新できました。
[admin@host1 ~]$ sudo -iu postgres ※次に表示されるプロンプトがpostgres@に変わることを確認
[postgres@host1 ~]$ pwd ※カレントディレクトリが/home/postgresであることを確認
/home/postgres
[postgres@host1 ~]$ exit ※postgresユーザからログアウトすることを確認
ログアウト
[admin@host1 ~]$
postgresユーザに設定するパスワードの強度が弱い場合に「正しくないパスワード」と表示されることがありますが、それに構わず同じパスワードを再入力すればパスワードの設定が成功します。なお、postgresユーザのパスワードを設定しなくても、sudo -iu postgres コマンドでpostgresユーザにログインできれば問題ありません。
postgresqlのインストールとサーバの起動
[admin@host1 ~]$ sudo dnf install postgresql-server
AlmaLinux 9 - AppStream 452 kB/s | 8.3 MB 00:18
AlmaLinux 9 - BaseOS 497 kB/s | 3.5 MB 00:07
AlmaLinux 9 - Extras 21 kB/s | 17 kB 00:00
依存関係が解決しました。
================================================================================
パッケージ Arch バージョン リポジトリー サイズ
================================================================================
インストール:
postgresql-server x86_64 13.14-1.el9_3 appstream 5.7 M
依存関係のインストール:
postgresql x86_64 13.14-1.el9_3 appstream 1.5 M
postgresql-private-libs x86_64 13.14-1.el9_3 appstream 132 k
トランザクションの概要
================================================================================
インストール 3 パッケージ
ダウンロードサイズの合計: 7.4 M
インストール後のサイズ: 29 M
これでよろしいですか? [y/N]: y ※インストールされるパッケージを確認して y を入力
パッケージのダウンロード:
(1/3): postgresql-private-libs-13.14-1.el9_3.x8 999 kB/s | 132 kB 00:00
(2/3): postgresql-13.14-1.el9_3.x86_64.rpm 948 kB/s | 1.5 MB 00:01
(3/3): postgresql-server-13.14-1.el9_3.x86_64.r 1.2 MB/s | 5.7 MB 00:04
--------------------------------------------------------------------------------
合計 1.3 MB/s | 7.4 MB 00:05
AlmaLinux 9 - AppStream 3.0 MB/s | 3.1 kB 00:00
GPG 鍵 0xB86B3716 をインポート中:
Userid : "AlmaLinux OS 9 "
Fingerprint: BF18 AC28 7617 8908 D6E7 1267 D36C B86C B86B 3716
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
これでよろしいですか? [y/N]: y ※GPG鍵のインポートを確認して y を入力
鍵のインポートに成功しました
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
準備中 : 1/1
インストール中 : postgresql-private-libs-13.14-1.el9_3.x86_64 1/3
インストール中 : postgresql-13.14-1.el9_3.x86_64 2/3
scriptletの実行中: postgresql-server-13.14-1.el9_3.x86_64 3/3
インストール中 : postgresql-server-13.14-1.el9_3.x86_64 3/3
scriptletの実行中: postgresql-server-13.14-1.el9_3.x86_64 3/3
検証中 : postgresql-13.14-1.el9_3.x86_64 1/3
検証中 : postgresql-private-libs-13.14-1.el9_3.x86_64 2/3
検証中 : postgresql-server-13.14-1.el9_3.x86_64 3/3
インストール済み:
postgresql-13.14-1.el9_3.x86_64
postgresql-private-libs-13.14-1.el9_3.x86_64
postgresql-server-13.14-1.el9_3.x86_64
完了しました!
[admin@host1 ~]$ sudo -u postgres postgresql-setup --initdb ※データベースクラスタの初期化
* Initializing database in '/var/lib/pgsql/data' ※データベースクラスタの場所
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
[admin@host1 ~]$ sudo ls /var/lib/pgsql/data ※データベースクラスタの内容を確認
PG_VERSION pg_dynshmem pg_notify pg_stat_tmp pg_xact
base pg_hba.conf pg_replslot pg_subtrans postgresql.auto.conf
global pg_ident.conf pg_serial pg_tblspc postgresql.conf
log pg_logical pg_snapshots pg_twophase
pg_commit_ts pg_multixact pg_stat pg_wal
[admin@host1 ~]$ sudo systemctl start postgresql ※データベースサーバの起動
[admin@host1 ~]$ sudo systemctl status postgresql ※データベースサーバの状態を確認
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; pres>
Active: active (running) since Tue 2024-05-14 14:37:02 JST; 10s ago ※active (running)を確認
Process: 33963 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql>
Main PID: 33965 (postmaster)
Tasks: 8 (limit: 10864)
Memory: 16.5M
CPU: 40ms
CGroup: /system.slice/postgresql.service
├─33965 /usr/bin/postmaster -D /var/lib/pgsql/data
├─33966 "postgres: logger "
├─33968 "postgres: checkpointer "
├─33969 "postgres: background writer "
├─33970 "postgres: walwriter "
├─33971 "postgres: autovacuum launcher "
├─33972 "postgres: stats collector "
└─33973 "postgres: logical replication launcher "
5月 14 14:37:02 host1.example1 systemd[1]: Starting PostgreSQL database server>
5月 14 14:37:02 host1.example1 postmaster[33965]: 2024-05-14 14:37:02.470 JST >
5月 14 14:37:02 host1.example1 postmaster[33965]: 2024-05-14 14:37:02.470 JST >
5月 14 14:37:02 host1.example1 systemd[1]: Started PostgreSQL database server.
[admin@host1 ~]$ sudo systemctl enable postgresql ※データベースサーバの自動起動の設定
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.
[admin@host1 ~]$
これ以降、原則としてpostgresqlサーバは常時起動させておいてください。また、何らかの理由により起動中のpostgresqlサーバを停止させたい場合は、adminユーザで sudo systemctl stop postgresql を入力してください。