在 PostgreSQL 中,“创建用户”通常有两种等价方式:CREATE USER 和 CREATE ROLE。
简单来说:CREATE USER 默认带 LOGIN 权限,CREATE ROLE 默认不能登录。
CREATE USER username WITH PASSWORD 'your_password';
示例:
CREATE USER alice WITH PASSWORD 'Abc123456';
创建后,该用户可以登录数据库。
CREATE ROLE username LOGIN PASSWORD 'your_password';
示例:
CREATE ROLE bob LOGIN PASSWORD 'Abc123456';
如果不加 LOGIN,该角色不能登录:
CREATE ROLE readonly;
CREATE USER admin WITH PASSWORD 'admin123' SUPERUSER;
CREATE USER reader WITH PASSWORD 'read123';
GRANT CONNECT ON DATABASE mydb TO reader;
GRANT USAGE ON SCHEMA public TO reader;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO reader;
CREATE USER dev WITH PASSWORD 'dev123' CREATEDB;
\du
或在 SQL 中:
SELECT usename FROM pg_user;
ALTER USER username WITH PASSWORD 'new_password';
DROP USER username;
pg_hba.conf如果你告诉我:
我可以给你更精确的创建命令。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。