【发布时间】:2015-06-25 15:54:08
【问题描述】:
我正在尝试建立与这样的数据库的连接:
psycopg2.connect(database="movies", user="lfcj", host="127.0.0.1");
我的pg_hba.conf 文件有一行:
TYPE __ DATABASE___USER__ADDRESS___METHODlocal all lfcj peer
我正在尝试使用对等标识,我的 SO 用户名也是 lfcj。
当我这样登录postgresql时,将所有权限授予lfcj,然后运行\list:
psql lfcj -h 127.0.0.1 -d movies
Enter password: 'myPassword'
psql (9.4.1)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
movies=# GRANT ALL PRIVILEGES ON DATABASE movies TO lfcj WITH GRANT OPTION;
movies=#\list
我得到了这些信息:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
--------+----------+----------+-------------+-------------+-----------------------
movies | lfcj | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/lfcj +
| | | | | lfcj=C*T*c*/lfcj+
所以:数据库movies 存在,lfcj 是所有者并且拥有所有权限。但是当我运行时:
psycopg2.connect(movies, lfcj);
它会抛出一个错误:
File "/usr/lib/python2.7/dist-packages/psycopg2/__init__.py", line 179, in connect
connection_factory=connection_factory, async=async)
psycopg2.OperationalError: FATAL: database "movies" does not exist
有什么想法吗?
【问题讨论】:
-
不同端口上的两个数据库?
标签: python database postgresql postgresql-9.1 psycopg2