以下の3つの方法があります。
Fastモードによる停止
バックアップが実行中であった場合はバックアップを終了させ、すべての実行中のトランザクションをロールバックして、クライアントとの接続を強制的に切断した後、インスタンスを停止します。
Immediateモードによる停止
インスタンスを即座に強制的に終了させます。インスタンスの再起動時にはクラッシュリカバリが実行されます。
サーバプロセスの強制停止
他の方法を実施しても停止できない場合に、サーバプロセスを確実に停止させます。
pg_ctlコマンドに“-m fast”を指定してインスタンスを停止します。
この方法を実施しても停止が失敗する場合は、“16.11.2.2 Immediateモードによる停止”、または“16.11.2.3 サーバプロセスの強制停止”に従った停止を実施してください。
例
> pg_ctl stop -D /database/inst1 -m fast
pg_ctlコマンドに“-m immediate”を指定してインスタンスを停止します。
この方法を実施しても停止が失敗する場合は、“16.11.2.3 サーバプロセスの強制停止”に従って停止を行ってください。
例
> pg_ctl stop -D /database/inst1 -m immediate
Fastモード、Immediateモードのいずれの方法でも停止できない場合は、pg_ctlコマンドのkillパラメータ、またはkillコマンドを使用してサーバプロセスを強制停止します。
手順を以下に示します。
psコマンドを実行します
なお、“<x>”は、製品のバージョンを示します。
> ps axwfo user,pid,ppid,tty,command | grep postgres fsepuser 19174 18027 pts/1 \_ grep postgres fsepuser 20517 1 ? /opt/fsepv<x>server64/bin/postgres -D /database/inst1 fsepuser 20518 20517 ? \_ postgres: logger fsepuser 20520 20517 ? \_ postgres: checkpointer fsepuser 20521 20517 ? \_ postgres: background writer fsepuser 20522 20517 ? \_ postgres: walwriter fsepuser 20523 20517 ? \_ postgres: autovacuum launcher fsepuser 20524 20517 ? \_ postgres: archiver fsepuser 20525 20517 ? \_ postgres: logical replication launcher
プロセスID(20517)がサーバプロセスになります。
サーバプロセスを強制停止します。
インスタンス管理者で、サーバプロセスの強制停止を行います。
> pg_ctl kill SIGQUIT 20517
> kill -s SIGQUIT 20517