我在REDHAT 7上安装了Postgres,然后安装了Python 3.6。我创建了虚拟环境,还在Postgres中创建了一个表。然后我执行了这个Python脚本,但出现了一些错误。
import psycopg2
conn = psycopg2.connect("dbname=postgres user=postgres host=localhost password=postgres")
错误内容为:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/data/scripts/san-automation/lib/python3.7/site-packages/psycopg2/__init__.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: could not initiate GSSAPI security context: Unspecified GSS failure. Minor code may provide more information
could not initiate GSSAPI security context: Server not found in Kerberos database
FATAL: Ident authentication failed for user "postgres"
cat /var/lib/pgsql/12/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
select * from pg_hba_file_rules
或show hba_file
。 - jjanes