【问题标题】:Pgadmin 4 row security issuePgadmin 4 行安全问题
【发布时间】:2017-05-14 10:11:38
【问题描述】:

我正在使用 pgadmin 4 web 来管理 postgresql 9.3 服务器,所以在恢复数据库时,我遇到了这个错误

pg_restore: [programme d'archivage (db)] could not execute query: ERROR:  unrecognized configuration parameter "row_security"
    La commande �tait : SET row_security = off;

但我注意到我的数据已恢复(不知道是否 100% 无法全部检查)

而且我不能授予任何用户任何特权!

我的问题是:如果它确实恢复了我的所有数据,我可以忽略该错误吗?以及如何使用Grant wizard 向用户授予权限!

【问题讨论】:

  • 看起来行安全性是 pg_restore 默认尝试关闭的 9.5 功能。如果你的数据库不需要行安全,你应该没问题。
  • @DmitriGoldring 感谢您重播,您能告诉我如何知道数据库是否需要行安全性,因为我迷路了,我无法向任何用户授予任何特权,我认为这是问题!
  • 行安全性基于每个表而不是整个数据库。有关详细信息,请参阅docs。当您恢复数据库时,是否创建了相关角色? Note 他们在不同的(db-wide)表中。

标签: postgresql pg-restore


【解决方案1】:

用于创建数据库转储的pg_dump 版本高于您在数据库服务器上使用的版本 (9.3)。

您应该始终使用与您要将转储还原到其中的数据库服务器相同的pg_dump 版本(不是您从中导出数据的那个)。

您可能会在不使用-d 选项的情况下使用pg_restore 从备份文件创建SQL 脚本。然后编辑 SQL 脚本,删除有问题的行,并尝试针对 9.3 数据库运行结果。没有成功的保证!

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    相关资源
    最近更新 更多