我正在使用postgresql 9.2和OS Redhat 6.9;从命令行从postgresql数据库备份获取备份时发现错误。 我正在使用两个命令
[root@clipntouch ~]# pg_dump -h localhost -U adempiere -W -F t live_3001 > database_dump_file.tar
要么
[root@clipntouch ~]# pg_dump -U adempiere live_3001 | gzip > /home/database_dump_file.gz
找出2个错误 - 1.对于第一个 - pg_dump:[archiver(db)]与数据库“live_3001”的连接失败:致命:用户“adempiere”的密码验证失败 2.对于第二个 - psql.bin:FATAL:用户“root”的密码验证失败
最好的解决方案?
错误非常清楚和冗长,
错误1:在您输入后,您必须提供数据库用户的密码,您输入的密码不正确。
错误2:您没有指定参数[-W],因此它没有要求任何密码。如果postgres服务器配置设置为TRUST for localhost但默认配置始终设置为md5或peer,则此方法有效。
要解决这个问题,您需要做的就是了解pg_dump工具。
Example: pg_dump -Fc -h localhost -d adempiere -U adempiere -v -W > file.backup
了解参数
-h它对应于数据库所在的主机
-d指您尝试备份的数据库
-U它指的是具有备份权限的数据库用户
-W此参数允许您在运行命令后键入数据库用户密码
-Fc它允许您生成自定义格式文件.backup
-v Verbose,它让你看到后台发生的事情的日志。
您可以在以下链接中找到有关此命令的更多信息: