postgres 以不同用户身份连接

postgres 以不同用户身份连接

刚接触 postgres。到目前为止,我使用 mysql,每当我需要登录时,我都会这样做:

mysql -u root -p

然后提示我提供用户密码root

但是 postgres 的感觉与此大不相同。安装后,我创建了一个新用户,如下所示:

create user root with password 'something';
create database test;
grant all privileges on database test to root;

现在,当我使用 pgadmin4 时,系统会提示我输入sudo密码。即使我尝试使用以下命令通过终端连接到数据库:

sudo -i -u postgres

它要求我输入sudo密码。

我如何通过不同的用户登录?

lsb_release -a给出:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.10
Release:    21.10
Codename:   impish

答案1

通常,psql连接到 PostgreSQL 数据库时会使用该命令,该-U选项将允许您指定要使用的用户名:

psql -U {username}

作为旁白 ...

使用root作为用户名通常是“不好的做法”,在大多数数据库和开发圈中强烈反对,因为它是一个明显的攻击目标——即使是本地安装的实例,也不会暴露在互联网上。相反,人们通常建议为仅限于单个数据库的应用程序创建帐户,或为仅限于少数人的帐户创建帐户。当然,管理员可以访问所有数据库,但用户名是唯一的。

如果需要使用默认postgres账户连接到 PostgreSQL,可以这样做:

sudo –i –u postgres psql

相关内容