我是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和重新安装一切?

谢谢你们的帮助!


当前回答

如果你在2023年,想知道最新的Postgres在最新的macOS (macOS Monterey)上有什么用

遵循这个:

brew install postgresql
createuser -s postgres
brew services restart postgresql

其他回答

createuser postgres --interactive

或者创建一个超级用户postgresl

createuser postgres -s

\du命令返回:

角色名称= postgres@implicit_files

命令postgres=# \password postgres返回错误:

错误:角色postgres不存在。

但是postgres=# \password postgres@implicit_files运行正常。

同样,在sudo -u postgres createuser -s postgres之后,第一个变体也可以工作。

如果您是MAC (M1)用户,并使用HomeBrew安装了Postgres,那么请遵循以下步骤:

使用哪个psql . exe检查Postgres位置 如果第一个回显为/opt/homebrew/bin/psql,则执行/opt/homebrew/bin/createuser -s postgres

这个想法是使用postgres安装位置创建一个名为“postgres”的用户。因此,您可能需要根据Postgres的位置更改该命令。

如果你从Brew安装了postgres,并且使用的是Apple Silicon (M1) mac,在你的终端上运行这个:

/opt/homebrew/opt/postgresql/bin/createuser -s postgres

如果你使用的是Intel (x86) mac,在你的终端上运行这个:

/usr/local/opt/postgres/bin/createuser -s postgres

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

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