gpt4 book ai didi

python - PostgreSQL 和 psycopg2 : database does not exist

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:05 24 4
gpt4 key购买 nike

我正在尝试建立与这样的数据库的连接:

psycopg2.connect(database="movies", user="lfcj", host="127.0.0.1");

我的 pg_hba.conf 文件有一行:

类型__数据库___用户__地址___方法
本地所有 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

有什么想法吗?

最佳答案

你能尝试连接到“postgres”数据库吗:

psql -d postgres

然后执行以下命令:

show data_directory;

在应该返回的 9.3.1.0-alpha1 上

/Users/USERNAME/Library/Application Support/Postgres93/var

然后使用简写\l检查服务器上存在哪些数据库>

如果一切正常,似乎 Postgresapp 成功调用了 initdb,但 createdb 失败了。您可以手动执行此操作,只需从终端(不在 psql 内部)执行 createdb USERNAME

关于python - PostgreSQL 和 psycopg2 : database does not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31055166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com