如何在PostgreSQL中的新集群中添加数据库?

时间:2018-07-12 19:36:44

标签: postgresql psql postgresql-9.6 pg-ctl

我正在使用

sudo pg_createcluster -u=$USER --datadir=candisDatabase -l=candisDatabase/candis.psql.log 9.6 candisCluster

在$ USER帐户(即“ rupav”)下创建一个具有指定目录candisDatabase的新数据库集群。

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

1 个答案:

答案 0 :(得分:0)

鉴于您指定了不想将其吸引到postgres的用户,而是将su分配给了您指定的用户。

如果是的话就做

psql "port=5433 dbname=postgres"