gpt4 book ai didi

Postgresql:无法访问postgresql数据库时,如何设置用户 'postgres'的密码?

转载 作者:行者123 更新时间:2023-12-04 18:35:33 26 4
gpt4 key购买 nike

我在 Ubuntu 18.04 上运行 postgresql 10.12。

我想试用一个使用 postgres 的软件包。这意味着我应该弄清楚如何在 postgres 下设置用户、密码和数据库。

Postgres 正在运行,但无法登录。

我很确定有一个名为“postgres”的用户。

以该用户身份登录而不提供密码失败。此外,尝试使用密码“postgres”或“root”失败。

如何在无法访问数据库的情况下更改用户“postgres”的密码?

最佳答案

这是一个修改初始密码的新手级秘诀,适用于 Linux Debian/Ubuntu 及其衍生产品上所有全新安装的 postgresql 包。

  1. 转到 shell 并将用户切换到 postgres

     (in user shell) sudo su - postgres
  2. postgres 用户身份连接到postgres 数据库

     (in postgres shell) psql postgres postgres
  3. 现在你可以修改postgres用户的密码了

     (in postgres psql) ALTER USER postgres PASSWORD 'newsecret';
  4. 退出 psql

     (in postgres psql) \q
  5. 退出 postgres shell

     (in postgres shell) exit
  6. 使用新密码测试连接

     (in user shell) psql -h localhost postgres postgres

关于远程 postgres 服务器的注意事项

在上面的第 1 步中,您可以使用 sshkubectl exec 或类似的东西,如果您有这种访问权限的话。

最佳实践说明

上面的食谱(虽然它回答了 OP 问题)不是一个好的做法。最好的方法是:

  1. 阅读并理解客户端身份验证 -> https://www.postgresql.org/docs/current/client-authentication.html

  2. 不要使用 postgres 数据库用户(或任何其他 super 用户!)进行应用程序/开发。请创建您自己的用户。对于最简单的设置,请使用:

     (in psql shell)
    CREATE USER myapp PASSWORD 'secret';
    CREATE DATABASE myapp;
    ALTER DATABASE myapp OWNER TO myapp;
    -- alternative if you want to keep default ownership:
    -- GRANT ALL ON DATABASE myapp TO myapp;

    应该这样做而不是修改 postgres 用户和/或 postgres 数据库。

关于Postgresql:无法访问postgresql数据库时,如何设置用户 'postgres'的密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60595286/

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