第一个问题:
我是一个完全的新手。使用某些默认密码安装postgresql而不要求在安装过程中进行更改是否正确?这些密码是什么?我只是在玩一个应用程序,如果我知道默认密码,一切都会好起来的。
您可能会说我没有默认密码。我在某处读到postgres用户允许不使用密码登录。然后,我是否将应用程序配置文件中的密码字段保留为空?
我在PostgreSQL命令行中使用了以下命令:
ALTER ROLE postgres WITH PASSWORD 'new_password';
我收到以下错误:
ALTER: command not found.
你能告诉我发生了什么吗?
我有Postgresql 11.6和12.1。
答案 0 :(得分:0)
对于新安装的PostgreSQL集群,它不允许非本地连接,即您可以在没有密码的情况下进行本地连接。例如:
psql -U postgres -p5432 -h127.0.0.1 -d postgres
您可以运行psql --help
来查看psql的所有帮助信息。
如上所述,登录后,您可以创建一个新用户并指定密码[1]或像您一样更改密码。
请注意,如果您不修改客户端身份验证配置文件[2],则无法使用此帐户在其他主机上登录数据库。
客户端身份验证由配置文件控制,该文件通常名为pg_hba.conf,并存储在数据库集群的数据目录中。 (HBA代表基于主机的身份验证。)由initdb初始化数据目录时,将安装默认的pg_hba.conf文件。但是,可以将身份验证配置文件放置在其他位置。请参阅hba_file配置参数。
答案 1 :(得分:0)
除非您的安装过程设置了一个,否则超级用户postgres
不会设置密码。您无需密码即可从本地计算机连接,然后可以设置一个。
首先,启动命令行客户端:
psql -U postgres
然后,您可以运行ALTER ROLE
命令。
答案 2 :(得分:0)
更改PostgreSQL数据库用户(postgres)密码有两个步骤:
su-postgres
使用密码'new_password'的ALTER ROLE postgres;