在PostgreSQl中导入数据库模式失败

时间:2018-02-18 11:26:36

标签: database postgresql ubuntu

所以我想导入一个数据库模式,但它失败了。 PostgreSQL版本是9.5.11。也许这个命令已经过时了?用户“用户”已经设置好。我是否需要在命令中另外传递密码?

postgres@root:~$ psql -d database -U user -f createdb.sql
psql: FATAL: Peer authentication failed for user "user"

1 个答案:

答案 0 :(得分:0)

默认情况下,在postgresql中,如果使用unix socket连接,则使用 peer 方法进行身份验证,这意味着您必须使用相同的登录unix和postgresql用户。在这里,您尝试使用用户用户,但在使用unix用户 postgres 运行psql时,它将无效。有许多不同的解决方案,您在postgres下以用户 postgres 进行操作,然后稍后更改所有权,或者创建一个unix用户calles 用户并使用它执行操作。您可以为用户 postgres 定义密码,也可以在环回上连接。但如果您不理解 pg_hba.conf 如何工作,那么修改它不是一个好主意。