我是postgres的新手。

我安装了postgres。我在玩psql命令,我不小心掉了postgres数据库。我不知道里面有什么。

我目前正在制作一个教程:http://www.rosslaird.com/blog/building-a-project-with-mezzanine/

我被困在sudo -u postgres psql postgres

错误信息:psql: FATAL: role "postgres"不存在

$ which PSQL

/Applications/Postgres.app/Contents/MacOS/bin/psql

这是psql -l输出的内容

                                List of databases
    Name    |   Owner    | Encoding | Collate | Ctype |     Access privileges     
------------+------------+----------+---------+-------+---------------------------
 user       | user       | UTF8     | en_US   | en_US | 
 template0  | user       | UTF8     | en_US   | en_US | =c/user                  +
            |            |          |         |       | user      =CTc/user      
 template1  | user       | UTF8     | en_US   | en_US | =c/user                  +
            |            |          |         |       | user      =CTc/user      
(3 rows)

那么我应该采取哪些步骤呢?删除一切相关的psql和重新安装一切?

谢谢你们的帮助!


当前回答

在Mac上,执行

createuser -s postgres

在一个终端工作。

其他回答

这对我很有效

创建用户 -s postgres

注意:我用的是mac catalina

在brew安装postgresql和brew服务启动postgresql后,我们有一个名为postgres的数据库。默认情况下,我们可以这样打开psql。

psql postgres

然后我们可以像这样在psql控制台中添加任意名称的用户。

CREATE USER postgres

如果我们想要一个超级用户,我们可以在最后加上SUPERUSER。

如果您在运行docker容器后遇到此问题,请尝试销毁容器并重新创建它。这为我解决了问题:

docker-compose down
docker-compose up --force-recreate

这将以postgresuser作为默认用户重新创建数据库

在Ubuntu系统上,我清除了PostgreSQL并重新安装了它。恢复所有数据库。 这为我解决了问题。

建议—为了安全起见,请备份数据库。

在Mac上,执行

createuser -s postgres

在一个终端工作。