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

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

我需要Postgresql 9.3在除管理员以外的系统用户下运行当前程序postgres,或者我需要使用Postgresql 9.3默认用户进行安装adminUbuntu 12.04

答案1

在 Debian/Ubuntu 上安装的 PostgreSQL 本质上是:

  • 每个版本有一组二进制文件,任何用户都可以运行它们来生成和管理新实例。
  • 每个实例有一个数据目录,只有其所有者可以使用。

如果初始情况包括9.3通过 Ubuntu 包安装的二进制文件,则非 postgres 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 软件包附带的脚本不会知道或关心它。它完全由启动它的用户管理。它可以与其他实例共存,但每个实例必须有自己的端口(在postgresql.conf数据目录中定义)。

相关内容