PGAdmin备份数据库时不会导出角色?该情况是否属实?
PGAdmin备份是否会创建角色?
默认情况下,PGAdmin里针对单个数据库的常规备份确实不会包含角色(ROLE)信息。这是因为它底层调用的是pg_dump工具,这个工具的设计目标是备份单个数据库内的对象(表、视图、函数等),而角色属于PostgreSQL集群级别的资源,不属于某个单独数据库的范畴。
如果需要备份角色,有两种方式:
- 使用PGAdmin的**「备份服务器」**功能(不是单个数据库的备份选项),这个功能会调用
pg_dumpall,能完整导出集群级的角色、表空间,以及所有数据库的内容 - 手动执行命令行工具:
pg_dumpall -r,可以单独导出所有角色的定义语句
需要注意的是,如果直接恢复不含角色的数据库备份到新集群,若原数据库对象关联了特定角色,恢复过程会报错,必须先导入角色定义,再完成数据库备份的恢复。
内容的提问来源于stack exchange,提问作者Chicken Sandwich No Pickles
相关产品推荐
相关产品推荐

