Skip to content

PostgreSQL 用户创建与删除 ​

创建用户 ​

sql
-- 创建新用户
CREATE USER username WITH PASSWORD 'password';

-- 创建具有特定权限的用户
CREATE USER app_user WITH PASSWORD 'secure_password123' NOSUPERUSER NOCREATEDB NOCREATEROLE;

-- 创建超级用户
CREATE USER dba_user WITH PASSWORD 'dba_password' SUPERUSER CREATEDB CREATEROLE REPLICATION;

修改用户 ​

sql
-- 修改用户密码
ALTER USER username WITH PASSWORD 'new_password';

-- 修改用户属性
ALTER USER username VALID UNTIL '2025-01-01';

-- 锁定用户
ALTER USER username ACCOUNT LOCK;

-- 解锁用户
ALTER USER username ACCOUNT UNLOCK;

删除用户 ​

sql
-- 删除用户
DROP USER IF EXISTS username;

-- 删除用户及其依赖对象
DROP OWNED BY username CASCADE;

常见问题(FAQ) ​

Q1: 删除用户时遇到依赖错误怎么办? ​

A1: 使用DROP OWNED BY username CASCADE先删除依赖对象。

Q2: 如何查看所有用户? ​

A2: 使用\du命令或查询pg_user视图。