postgres使用数据库密码或用户密码

时间:2018-07-24 13:10:50

标签: postgresql passwords pg-hba.conf

我在本地postgres服务器中导入了一个postgres数据库。 我必须使用名为setup.local的文件连接到数据库(以允许django检索数据)。

需要指定:DB_HOST=localhostDB_NAMEDB_USERDB_PASSWORD

毫无疑问,

DB_HOST是localhost。 DB_name是我选择导入的数据库名称(psql imported_db < downloaded_DB

DB_USER是我的名字(或者我可以更改所有者ALTER DATABASE imported_db OWNER TO other_name)。

对我而言,最重要的是我必须使用用户密码(my_name或other_name)而不是数据库密码(即使变量名是DB_PASSWORD)。

所以问题是: psql数据库是否具有密码,或者只是角色/用户具有密码,并使用它们来访问数据库?

安德里亚

2 个答案:

答案 0 :(得分:0)

DB_HOST=localhost是这里的关键。查看pg_hba.conf,您很可能会发现针对ident连接的localhost

https://www.postgresql.org/docs/current/static/auth-methods.html#AUTH-IDENT

  

为本地(非TCP / IP)连接指定ident时,对等   身份验证(请参见第20.3.6节)。

https://www.postgresql.org/docs/current/static/auth-methods.html#AUTH-PEER

  

对等身份验证方法通过获取客户端的   内核中的操作系统用户名并将其用作允许的用户名   数据库用户名(带有可选的用户名映射)。这个方法是   仅在本地连接上受支持。

答案 1 :(得分:0)