authentication - 将 Windows postgresql 数据库备份到远程(unix)服务器 - 身份验证问题
问题描述
我运行 Davinci Resolve Studio,它使用 Postgres 数据库来共享对其项目的访问。
我想将 Windows (postgres-9.5) 数据库 ("resolve_main") 备份到现有的 Ubuntu 20.04 (postgres-12) postgres 服务器。
在 Windows 机器上,数据库用户是 postgres;在 Ubuntu 系统上,用户是 dennis。
在 Windows 机器上(此复制过程将起源于此),我已经使用这些值设置了 %APPDATA%\postgresql\pgpass.conf(有些在这里被屏蔽了......)。但在我看来,症状表明该文件没有被处理。
#hostname:port:database:username:password
localhost:5432:postgres:D....
hpmicro1:5432:dennis:p....
*:5432:postgres:D....
我尝试使用的备份命令是:
pg_dump -C -h localhost -U postgres resolve14_main | psql -h hpmicro1 -U dennis resolve14_main
如果我尝试在新的 shell 中执行上述命令字符串,我会收到以下错误:
pg_dump: [archiver (db)] connection to database "resolve14_main" failed: FATAL: password authentication failed for user "postgres"
如果我通过 SET PGPASSWORD=D.... 为 postgres 用户的密码设置 Windows 环境变量,则错误将变为:
psql: FATAL: password authentication failed for user "dennis"
FATAL: password authentication failed for user "dennis"
pg_dump: [archiver] could not write to output file: Broken pipe
这样我就可以通过 pg_dump 的(Windows)安全性,但它使 psql 无法连接到 remjote。此外,如果我只键入 psql -U dennis -h hpmicro1,则会提示我输入密码。
所有这些让我相信我的 pgpass.conf 文件有问题。
任何线索为了使这些命令使用该文件来设置适当的密码,我还需要做什么?或者如果这不是问题,我可能做错了什么?
解决方案
推荐阅读
- r - 即使 setZ 工作正常,R raster getZ 返回 null
- javascript - d3 svg 符号语法
- reactjs - Redux 状态已更新,但未调用 mapStateToProps
- react-native - 使用 react-native-dialog,如何获取 Dialog.Input 内容?
- php - Laravel 5.7 验证电子邮件本地化
- awk - 从相对路径中删除所有路径字符串
- command-line - jq:使用嵌套字段名称作为 group_by 语句的命令行参数
- excel - 用代码中的字母数字替换散文格式描述的公式
- python - write() 参数必须是 str,而不是字节 python
- python-imaging-library - 使用 PIL 转换 base64 编码的 png pic