Joh*_*ell 12 postgresql postgresql-9.4 postgresql-9.5
我正在尝试将一些表从 9.5 beta 2 转储到 9.4.4 服务器。我使用的命令的形式是相当标准的:
pg_dump -t table dbname | psql -h hostname -d dbname
Run Code Online (Sandbox Code Playgroud)
我正在使用 Postgres 用户,我意识到这可能并不理想,但因为它们都是我只使用的开发数据处理框,并且与随后的错误相关。最初,我得到了错误
错误:无法识别的配置参数“row_security”
这是预期的,因为此功能是 9.5 中的新功能,是的,我意识到不建议在不同的 Postgres 版本之间使用 pg_dump,但是,遗憾的是,这是不可避免的,因为我遇到了一个非常模糊的错误,并且需要移动一个大的一次静态数据量。
因此,使用这个可怕的 hack 来删除 row_security 错误,并在第一个错误时打开停止:
pg_dump -t tablemame dbname |sed 's/SET row_security = off;//'|
psql -v ON_ERROR_STOP=1 -h hostname -d dbname
Run Code Online (Sandbox Code Playgroud)
我现在得到:
错误:权限被拒绝创建“pg_catalog.tablename”详细信息:当前不允许修改系统目录
虽然使用 Postgres 用户/角色可能是不可取的,但我的理解是不应该有这种性质的许可问题。我对任何建议持开放态度,因为这是一次性操作,并且这些是未连接到任何实时服务的数据处理开发箱,因此权宜之计优于理想的公司数据访问策略。话虽如此,最好了解如何正确执行此操作并在将来避免这种情况。
归档时间: |
|
查看次数: |
6761 次 |
最近记录: |