在debian下安装PostgreSQL

我试图在运行debian8的服务器上安装PostgreSQL服务器。
我使用apt安装了postgresql-9.5软件包,但似乎有些程序丢失。

我试图创build一个集群,但在服务器上找不到initdb ,我试图作为标准用户,作为postgres甚至root

当我查找/usr/lib/postgresql/9.5/bin/ ,没有initdbpg_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安装默认数据库。