postgresql - PostgreSQL 的默认用户名和密码是否为 NULL?

标签 postgresql account

我已经通过自制程序安装了postgresql。

有一个名为“postgres”的默认数据库。我还通过从终端运行命令“create”创建了一个新数据库。然而,postgresql从来没有提示我设置任何用户名和密码。当我使用 GUI (Datagrip) 导航这些数据库时,我可以在连接到这些数据库时将用户名和密码字段保留为空。

我是 postgresql 新手,我了解 MySQL。在 MySQL 中,有一个 root 帐户,我可以从中创建具有某些权限的新帐户。 postgresql中的默认设置是NULL吗?

最佳答案

默认情况下,postgres 仅提供登录(对等)身份验证。您应该使用 psql(postgres 命令行客户端)添加新的登录名和密码。要访问 psql,请运行:

sudo -u postgres psql

在 psql 中,使用以下命令创建角色:

postgres=# CREATE USER myuser with password 'mypass';

最后,向这个新角色授予某些数据库的权限:

GRANT ALL ON DATABASE mydb to myuser;

之后,您将能够在 DataGrip 中使用这个新用户访问数据库。

另一个(更高级)选项是编辑 pg_hba.conf 文件以启用本地其他身份验证方法。此页面可能对您有帮助:https://www.postgresql.org/docs/9.1/auth-methods.html

关于postgresql - PostgreSQL 的默认用户名和密码是否为 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58512164/

相关文章:

php - 使用 ID 登录/创建帐户

ruby-on-rails - Rails postgres structure.sql 删除架构名称

postgresql - 我应该为我的应用程序使用什么 SRID 以及如何使用?

Python - 使用 pywin32 从不同地址发送 Outlook 电子邮件

linux - 如何将文件复制到远程Linux服务器中的共享帐户

php - 重构困境 : User Account Functionality in PHP

android - 无法访问在 Android 的帐户验证器中设置的首选项

performance - PostgreSQL 中的计数器缓存列

python - SQL 时间戳默认当前时间戳 : How to remove miliseconds?

sql - 如何查看记录是否更新?