首页 > 解决方案 > 如何在 postgreSQL 的新集群中添加数据库?

问题描述

我在用

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

标签: postgresqlpsqlpostgresql-9.6pg-ctl

解决方案


鉴于您指定了您不想postgressu 到的用户,而是 su 到您指定的用户。

如果你只是这样做

psql "port=5433 dbname=postgres"

推荐阅读