gpt4 book ai didi

postgresql - 创建新角色?

转载 作者:行者123 更新时间:2023-11-29 12:47:30 24 4
gpt4 key购买 nike

我是 PostgreSQL 的新手。

我正在尝试创建一个名为 pgdba 的新角色,如下所示...

localhost.localdomain:[/home/postgres]createuser -d -i -l -P -r -s pgdba
new role's password : pgdba
retype password : pgdba
password : postgres

localhost.localdomain:[/home/postgres]psql
Password: postgres
psql (9.0.1)
Type "help" for help.
postgres=# select * from pg_shadow;
usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig
----------+----------+-------------+----------+-----------+-------------------------------------+----------+-----------
postgres | 10 | t | t | t | md53175bce1d3201d16594cebf9d7eb3f9d | |
pgdba | 16385 | t | t | t | md53cd688326933adcdedd77097c95d131d | |
(2 rows)

postgres=# \q

localhost.localdomain:[/home/postgres]psql -U pgdba
Password for user pgdba: pgdba
FATAL: database "pgdba" does not exist

psql: FATAL: database "pgdba" does not exist

我做错了什么?

最佳答案

怎么看到消息是数据库 pgdba 不存在?

默认情况下,PostgreSQL 将连接到以当前用户命名的数据库(请参阅 the psql docs。由于您没有指定要连接的数据库,它会尝试连接到名为 pgdba - 不存在。

尝试:

psql -U pgdba postgres

使用角色 pgdba 连接到 postgres 数据库。

您可能还需要检查 pg_hba.conf(如果您想调整身份验证规则,请参阅 docs

顺便说一句,您运行的是具有已知错误的过时 PostgreSQL 版本。请更新至 9.0.8,这是 9.0 系列中的最新补丁版本。您不需要为此转储和重新加载数据库或使用 pg_upgrade,这是一个简单的直接替换。查看release notes对于您遗漏的所有修复。

此外,考虑使用 psql 的用户信息函数 \du\dg,而不是从 pg_shadow 中选择 SELECT >,这会产生更好的格式化和集成信息。

关于postgresql - 创建新角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11856331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com