20人参与 • 2025-05-27 • MsSqlserver
postgresql 提供了多种方式来修改用户密码,以下是全面的密码修改方法和注意事项:
-- 修改当前用户密码 alter user current_user with password 'new_password'; -- 修改指定用户密码(需要权限) alter user username with password 'new_password';
psql -u username -d database \password username # 会提示输入新密码两次
-- 以postgres用户登录后 sudo -u postgres psql alter user dbuser with password 'new_secure_pass123';
psql -h 192.xxx.xxx.99 -u postgres -d postgres # 输入当前密码后执行: alter user app_user with password 'new_pass!456';
-- 设置密码有效期 alter user username valid until '2025-12-31'; -- 使密码永不过期 alter user username valid until 'infinity';
create extension pgcrypto; alter user username with encrypted password 'complex@pass123';
解决方法:
local all postgres trust
-- 生成批量修改语句 select 'alter user '||usename||' with password '''|| substr(md5(random()::text), 0, 10)||''';' from pg_user where usename not like 'pg_%';
密码复杂度:
密码存储:
定期轮换:
-- 检查密码最后修改时间(需pg_shadow权限) select usename, passwd from pg_shadow;
postgresql支持多种密码加密算法:
加密方式 | 命令示例 | 安全性 |
---|---|---|
scram-sha-256 | alter user...with password 'pwd' | 高(默认) |
md5 | alter user...with encrypted password 'pwd' | 中(兼容旧版) |
plaintext | alter user...with unencrypted password 'pwd' | 低(不推荐) |
设置默认加密方式(postgresql.conf):
password_encryption = scram-sha-256
权限不足:
error: must be superuser to alter superusers
解决方案:使用postgres用户或具有createrole权限的用户执行
密码包含特殊字符:
-- 密码包含单引号时 alter user test with password $$don't_use_this$$;
连接问题:
到此这篇关于postgresql修改用户密码的多种方式的文章就介绍到这了,更多相关postgresql修改密码内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论