Postgresql
找不到命令:Ubuntu 上的 pg_ctl
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
按照設計,它不在 PostgreSQL Debian(因此是 Ubuntu)發行版的路徑中。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
是一個 perl 腳本,pg_ctl
它不會被設計暴露(在路徑中)。pg_ctrlcluster : 多版本/集群感知 pg_ctl 包裝器;這也為’start’提供了正確的配置參數,並確保postgres真的在’stop’時停止。
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