PostgreSQL 9.4.8 Ubuntu 16.04 64ビット
ここで何が起こっているのかを説明したいだけです。このコマンドが見つからないのはなぜですか?他には何もありません。
malikarumi@Tetuoan2:/usr/lib/postgresql/9.4/bin$ pg_ctl stop -m fast
pg_ctl: command not found
malikarumi@Tetuoan2:/usr/lib/postgresql/9.4/bin$ Sudo pg_ctl stop -m fast
[Sudo] password for malikarumi:
Sudo: pg_ctl: command not found
malikarumi@Tetuoan2:/usr/lib/postgresql/9.4/bin$ ls
clusterdb initdb pg_ctl pg_restore postmaster
createdb oid2name pg_dump pg_standby psql
createlang pg_archivecleanup pg_dumpall pg_test_fsync reindexdb
createuser pg_basebackup pg_isready pg_test_timing vacuumdb
dropdb pgbench pg_receivexlog pg_upgrade vacuumlo
droplang pg_config pg_recvlogical pg_xlogdump
dropuser pg_controldata pg_resetxlog postgres
malikarumi@Tetuoan2:/usr/lib/postgresql/9.4/bin$
pg_ctl
は、設計上、Debian(およびUbuntu)が配布するPostgreSQLのバージョンのパスには含まれていません。 PostgreSQLはサービスとしてDebian/Ubuntuにインストールされます
Sudo service postgresql {start|stop|restart|reload|force-reload|status} [version ..]
このコマンドは、init.d
をラップするpg_ctlcluster
スクリプトを呼び出します。 /etc/init.d/postgresql
を開くと確認できます。必要に応じて、pg_ctlcluster
を呼び出すことができます。 pg_ctrlcluster
は、仕様上(パスで)公開されないpg_ctl
をラップするPerlスクリプトです。
pg_ctrlcluster:マルチバージョン/クラスター対応のpg_ctlラッパー;これはまた、「開始」するための正しい構成パラメーターを提供し、postgresが「停止」で本当に停止することを確実にします。
pg_ctl
は技術的に配布されていますが、直接呼び出す必要はありません。それを実行するには
find /usr/lib/postgresql/ -name pg_ctl
フルパスでpg_ctl
を明示的に呼び出すことはできますが、できません
また、上から先に進み、釣り方を教えると、後でこの種の質問がある場合はいつでもapropos
を使用できます。
$ apropos pg_ctl
pg_ctl (1) - initialize, start, stop, or control a PostgreSQL server
pg_ctlcluster (1) - start/stop/restart/reload a PostgreSQL cluster