スタンバイの使い方
WAL を受け取って同じデータを持つサーバー
書き方
\! pg_basebackup -h localhost -U replicator -D /var/lib/pgsql/18/standby -R -X stream \! pg_ctl -D /var/lib/pgsql/18/standby -o "-p 5433" start \! psql -p 5433 -c "SELECT …"
pg_basebackup -R で写すと、standby.signal(スタンバイとして起動する印)と、postgresql.auto.conf の primary_conninfo(どこから WAL を受け取るか)ができます。起動すると、プライマリから WAL を受け取って流し続けます。スタンバイでは読むことはできますが、書くと cannot execute … in a read-only transaction になります。このシミュレーターでは、スタンバイは同じマシンの別のポートで動かし、psql -p で問い合わせます。
例
\! psql -p 5433 -c "SELECT pg_is_in_recovery()"
実際に打って練習する
PostgreSQL DBA コースの Lv55「スタンバイを作る」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、プラチナ以上のプランで遊べます。