【发布时间】:2018-07-12 19:36:44
【问题描述】:
我正在使用
sudo pg_createcluster -u=$USER --datadir=candisDatabase -l=candisDatabase/candis.psql.log 9.6 candisCluster
创建一个新的数据库集群,指定目录为candisDatabase,在账户$USER(即'rupav')下。
pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
9.6 candisCluster2 5433 online rupav candisDatabase candisDatabase/candis.psql.log
9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
集群已成功创建,并且能够使用pg_ctlcluster 9.6 candisCluster2 start 成功运行/启动新集群和服务器 candisCluster2
以下是新集群的状态(使用pg_ctlcluster 9.6 candisCluster2 status):
/usr/lib/postgresql/9.6/bin/postgres "-D" "candisDatabase" "-c" "config_file=/etc/postgresql/9.6/candisCluster2/postgresql.conf"
现在服务器正在监听 5433 端口,我如何在给定的集群中添加创建角色、数据库和密码。默认情况下(postgresql 安装后)我可以通过sudo -u postgres psql 进入 psql shell。
简而言之,我希望将数据目录中的所有表都指定为candisDatabase,它由不同于postgres 的用户拥有。
系统详情: 我在“Ubuntu 17.10(Oracle VM,主机是 Windows)”上,postgresql 版本是 9.6
【问题讨论】:
-
鉴于您指定了用户,您可能不想 su 到 postgres,而是 su 到用户。
标签: postgresql psql postgresql-9.6 pg-ctl