首页 > 解决方案 > pg_dump:如何设置 *.sql 输出文件的用户名和密码?

问题描述

我想创建一个外部 postgres 数据库的本地副本。我被要求输入本地副本的密码。我在哪里可以设置/访问此密码?我从来没有设置密码。

pg_dump -h external_hostname -p 5432 -U postgres db > db_copy.sql

createdb -p 5432 -h 127.0.0.1 -U postgres db_copy

我得到错误

createdb: could not connect to database template1: FATAL: password authentication failed for user “postgres”

标签: postgresql

解决方案


首先你应该找到你的 pg_hba.conf 文件

显示 hba_file;

它的位置可以改变,但如果你使用基于 debian 的系统,必须大约etc/postgresql/9.6/main/pg_hba.conf

打开此文件并更改

local   all             postgres                                peer

local   all             postgres                                trust

毕竟你应该从 root 重新加载 postgresql 服务,或者重新加载的简单方法是,你通过 open psql 运行这个选择查询:

select pg_reload_conf();

推荐阅读