在“postgres”以外的系统用户下安装PostgreSQL?

我需要在postgres之外的系统用户下运行我当前的Postgresql 9.3 ,比如说pipe理员或者我需要在Ubuntu 12.04上安装Postgresql 9.3和默认用户(如admin

在Debian / Ubuntu上安装PostgreSQL基本上是:

  • 每个版本的一组二进制文件,任何用户都可以运行来产生和pipe理一个新的实例。
  • 每个实例只有其所有者可以使用的数据点。

如果最初的情况包含通过Ubuntu软件包安装的9.3二进制文件,则非Unix用户可以通过执行以下操作产生一个实例:

 /usr/lib/postgresql/9.3/bin/initdb --pgdata=$HOME/pginstance [other-options] 

然后启动这个实例:

 /usr/lib/postgresql/9.3/bin/pg_ctl -D $HOME/pginstance start 

并停止它:

 /usr/lib/postgresql/9.3/bin/pg_ctl -D $HOME/pginstance stop 

显然$HOME/pginstance可以在用户有权写入的任何地方。

这个实例与postgres用户无关,而Ubuntu软件包附带的脚本不会知道或关心它。 它完全由启动它的用户pipe理。 它可能与其他人共存,但是每个实例必须有自己的端口(在数据目录中的postgresql.conf定义)。