gpt4 book ai didi

postgresql - 无法将 postgresql 数据库复制到新服务器,出现错误 [无法识别的参数 "row_security"]

转载 作者:行者123 更新时间:2023-11-29 11:12:34 24 4
gpt4 key购买 nike

我是 PostgreSQL 的新手。我已成功创建数据库,设置“philipyoung”——我的 ID 为 super 用户,并使用以下命令将本地数据库复制到 elephantsql 中的新服务器。

pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname

然后出现下面的错误

SET
SET
SET
SET
SET
ERROR: unrecognized configuration parameter "row_security"
ERROR: permission denied to create database
ERROR: role "philipyoung" does not exist
FATAL: no pg_hba.conf entry for host "xxx.xxx.xxx.xx", user "xxxx", database "xxxx", SSL on

任何帮助将不胜感激

最佳答案

“row_security”错误可能是因为您本地的 PostgreSQL 版本比远程端的版本更新。除非您使用该功能,否则这不是问题。

“权限被拒绝”和“用户 X 不存在”错误是它失败的原因。您正在尝试以无权在远程服务器上创建数据库的用户身份恢复数据库。然后,它找不到相关用户,然后您也没有为该用户设置远程访问。

用户在数据库之间共享,而不是与它们一起复制。

所以 - 你想做这样的事情:

  1. 在远程服务器上以“postgres”身份登录并“创建用户 x ...”
  2. 在远程服务器上以用户“postgres”的身份恢复数据库,它应该能够将所有权设置为您想要的用户。

如果您不想授予对数据库的远程访问权限,您可能想要创建一个 ssh 隧道(互联网上有很多示例)或转储到一个文件(使用“-Fc”作为自定义压缩格式)并首先将转储复制到远程计算机。

如果可能,请尝试在两台服务器上运行相同版本的 PostgreSQL。如果他们确实需要沟通,这会让事情变得更容易。

关于postgresql - 无法将 postgresql 数据库复制到新服务器,出现错误 [无法识别的参数 "row_security"],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35447834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com