刚接触 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