温馨提示×

centos如何设置postgresql用户

小樊
57
2026-09-09 10:21:48
栏目: 云计算

在 CentOS 上“设置 PostgreSQL 用户”通常有两种含义:

  1. 操作系统层面:创建/管理运行 PostgreSQL 的系统用户(通常是 postgres)
  2. 数据库层面:创建/管理 PostgreSQL 数据库用户(角色)

下面分别说明。


一、操作系统用户(System User)

PostgreSQL 默认使用系统用户 postgres 运行。

1. 查看是否已存在 postgres 用户

id postgres

2. 创建 postgres 系统用户(一般安装时已自动创建)

sudo useradd -r -m -d /var/lib/pgsql postgres

3. 切换到 postgres 用户

sudo -i -u postgres

或

su - postgres

二、PostgreSQL 数据库用户(Database Role)

方式一:使用 createuser 命令(推荐新手)

sudo -u postgres createuser --interactive

示例:

sudo -u postgres createuser --interactive myuser
  • 是否超级用户?n
  • 是否允许创建数据库?y
  • 是否允许创建角色?n

创建带密码的用户:

sudo -u postgres createuser -P myuser

方式二:使用 SQL 命令(更常用)

  1. 进入 PostgreSQL:
sudo -u postgres psql
  1. 创建用户并设置密码:
CREATE USER myuser WITH PASSWORD 'mypassword';
  1. 授权数据库:
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
  1. 退出:
\q

三、常见问题设置

1. 允许用户远程登录

编辑配置文件:

vim /var/lib/pgsql/data/postgresql.conf

修改:

listen_addresses = '*'

编辑 pg_hba.conf:

vim /var/lib/pgsql/data/pg_hba.conf

添加:

host    all    all    0.0.0.0/0    md5

重启服务:

sudo systemctl restart postgresql

2. 给用户超级权限

ALTER USER myuser WITH SUPERUSER;

3. 修改用户密码

ALTER USER myuser WITH PASSWORD 'newpassword';

四、总结

需求 命令
系统用户 postgres(默认)
创建数据库用户 CREATE USER
设置密码 WITH PASSWORD
授权数据库 GRANT
远程访问 改 postgresql.conf + pg_hba.conf

如果你有 具体版本(如 PostgreSQL 12/15) 或 CentOS 7/8/Stream,我可以给出更精确的操作步骤。

0 踩