如何访问Postgres用户管理员?Ubuntu下PgAdmin4连localhost遇密码问题
PgAdmin4连接localhost服务器时的admin用户问题
核心结论
admin不是PostgreSQL 12在Ubuntu上的默认数据库用户,PostgreSQL默认超级用户是postgres。这个admin要么是你配置PgAdmin4时手动指定的连接用户,要么是PgAdmin4自身的管理账户(和数据库用户是两个独立体系)。
解决步骤
区分用户类型
- 如果是PgAdmin4的管理用户(登录PgAdmin4时的账户):这个账户是你安装PgAdmin4时创建的,没有默认密码。忘记的话可以通过终端重置:
执行后按照提示重新设置密码即可。sudo python3 /usr/pgadmin4/bin/reset_password.py - 如果是数据库连接用户(连接PostgreSQL服务器时的账户):PostgreSQL默认没有
admin用户,你可以选择两种方式处理:- 改用默认
postgres用户:右键点击PgAdmin4里的localhost服务器→属性→连接,把用户名改为postgres。如果postgres没有设置密码,先在终端执行:sudo su - postgres psql -c "ALTER USER postgres PASSWORD '你的密码';" - 手动创建
admin数据库用户:切换到postgres系统用户,进入psql执行:CREATE USER admin WITH SUPERUSER PASSWORD '你的密码';
- 改用默认
- 如果是PgAdmin4的管理用户(登录PgAdmin4时的账户):这个账户是你安装PgAdmin4时创建的,没有默认密码。忘记的话可以通过终端重置:
修改PostgreSQL认证配置(如果连接仍失败)
如果是因为认证策略导致连接被拒,需要修改pg_hba.conf文件:- 打开配置文件:
sudo nano /etc/postgresql/12/main/pg_hba.conf - 找到本地连接的条目,将认证方式改为
md5(密码认证):# 本地Unix套接字连接 local all all md5 # IPv4本地连接 host all all 127.0.0.1/32 md5 # IPv6本地连接 host all all ::1/128 md5 - 重启PostgreSQL服务生效:
sudo systemctl restart postgresql
- 打开配置文件:
内容的提问来源于stack exchange,提问作者Andres Vilca
相关产品推荐
相关产品推荐

