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视图。