我试图在运行debian8的服务器上安装PostgreSQL服务器。
我使用apt安装了postgresql-9.5软件包,但似乎有些程序丢失。
我试图创build一个集群,但在服务器上找不到initdb ,我试图作为标准用户,作为postgres甚至root 。
当我查找/usr/lib/postgresql/9.5/bin/ ,没有initdb和pg_ctl程序。
有没有额外的包我忘了安装,使其工作?
initdb是pgdg提供的postgresql-9.5软件包的一部分,它应该放在你找不到它的地方。
$ dpkg -S initdb postgresql-9.5:/usr/share/locale/it/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/zh_CN/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/ko/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/postgresql/9.5/man/man1/initdb.1.gz postgresql-9.5:/usr/share/locale/fr/LC_MESSAGES/initdb-9.5.mo postgresql-9.5: /usr/lib/postgresql/9.5/bin/initdb postgresql-9.5:/usr/share/locale/ja/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/pt_BR/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/cs/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/pl/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/ru/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/de/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/sv/LC_MESSAGES/initdb-9.5.mo postgresql-9.5:/usr/share/locale/es/LC_MESSAGES/initdb-9.5.mo
如果在initdb在的目录中没有findinitdb ,这是不正常的,所以你可能要仔细检查一下,也许可以考虑重新安装包。
但无论如何, initdb并不是直接在Debian中调用,这就是为什么它不在PATH中。 Postgres的Debian软件包在所有这些命令之上都有一个抽象层,允许多个版本的postgres同时运行。
这里有一个简介: https ://wiki.debian.org/PostgreSql,以及pg_wrapper,pg_ctlcluster,pg_createcluster和其他一些pg_ *命令的联机帮助页中的详细信息。
此外,安装主postgresql软件包时会自动创build一个默认集群,所以通常不需要创build一个集群,只需在postgres帐户下运行psql安装默认数据库。