我是PostgreSQL的新手。我已经安装了PostgreSQL 9.6,我使用的是psql以及PGADMIN4。这是一种练习练习。
我安装了PostgreSQL,默认安装了PGADMIN4和psql shell。它还创建了一个名为postgres的用户,还有一个名为postgres的数据库。
我已经通过右键单击PGAdmin中的“登录/组角色”创建了一个新用户名joe,然后我输入了Joe所需的详细信息。我希望joe使用postgres db.Hence我右键单击数据库下的postgres db( 1)PGAdmin中的选项并将所有者从postgres更改为joe。
然后我打开了psql。
从图像中可以看出,我的用户名仍然是postgres。但是我已经在pgadmin中将其更改为Joe。
我希望它是乔。
我的印象是,如果我在pgadmin中进行一些更改,那么它们会反映在psql中。
纠正我,我错了。
1)我想在psql中将我的用户名从postgres更改为joe。
2)这个joe应该使用db postgres。 Joe应该能够使用psql shell在postgres db中创建模式,表等。
此致
Kaustubh
答案 0 :(得分:0)
您说得对:使用pgAdmin 4对数据库群集所做的所有更改都将显示psql
,反之亦然。
您使用pgAdmin 4创建了一个用户joe
,该用户将显示psql
:只需输入\du
,用户postgres
和joe
将会出现。
但您认为使用pgAdmin 4创建的任何用户都将自动成为psql
使用的默认登录用户,这是错误的。
两个小小的思想实验:
psql
的新默认用户?psql
必须在连接数据包中指定数据库用户。在甚至连接到数据库之前,如何知道你在PostgreSQL 中创建了一个新用户?但很容易达到你想要的效果。
要更改psql
用于连接数据库的默认用户,请将环境变量PGUSER
设置为joe
。以同样的方式,您可以通过设置psql
环境变量来更改PGDATABASE
连接到的默认数据库。