数据库连接错误:数据库 "dbname" 不存在
Error in database connection: Database "dbname" does not exist
我创建了一个 python 文件 app.py 并包含了连接到我在 postgresql 中创建的数据库的代码,如下所示:-
import psycopg2
conn = psycopg2.connect(
user='postgres',
password='1234',
host='localhost',
port='5432',
database='bubbleformation'
)
cursor = conn.sursor()
cursor.execute('SELECT * FROM bubbleformation')
for row in cursor: print(row)
conn.close()
这是按照 this medium article
中的说明进行的
但是,当我尝试在终端中执行此 python 文件时,出现以下错误:-
Traceback (most recent call last): File "app.py", line 8, in
port='5432' File "/usr/lib/python2.7/dist-packages/psycopg2/init.py", line 130, in
connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: FATAL: database "bubbleformation" does not exist
我创建了一个名为"bubbleformation"的table,可以通过终端在psql模式下查看
谁能帮我理解应该做什么?我尝试更改密码和用户权限,但其中 none 解决了我的错误。
您应该使用相同的名称 "bubbleformation" 创建数据库和 table。您可能已经在 postgres 数据库中创建了 table。
以 postgres 用户身份输入 psql 并调用 CREATE DATABASE bubbleformation;
,然后使用 \connect bubbleformation
连接到它,然后创建您的 table(类似于 CREATE TABLE bubbleformation (id int, name text);
)。
错误是没有名为"bubbleformation"的数据库,因此当您在终端连接数据库时,需要在数据库参数中指定哪个数据库。当您在终端中连接到数据库时,键入:
SELECT current_database();
如果它确实是一个名为 "bubbleformation" 的数据库,那么它必须是您连接到的不同集群,因此是不同的端口。
披露:我是 EnterpriseDB (EDB) 的员工。
环境错误。我正在从 .env 文件加载凭据。但是我错误地给了一个错误的路径。
project_folder = os.path.expanduser('~/scraping') instead of
project_folder = os.path.expanduser('~/find_my_nearest_store')
load_dotenv(os.path.join(project_folder, '.env'))
因此出现错误。
我创建了一个 python 文件 app.py 并包含了连接到我在 postgresql 中创建的数据库的代码,如下所示:-
import psycopg2
conn = psycopg2.connect(
user='postgres',
password='1234',
host='localhost',
port='5432',
database='bubbleformation'
)
cursor = conn.sursor()
cursor.execute('SELECT * FROM bubbleformation')
for row in cursor: print(row)
conn.close()
这是按照 this medium article
中的说明进行的但是,当我尝试在终端中执行此 python 文件时,出现以下错误:-
Traceback (most recent call last): File "app.py", line 8, in port='5432' File "/usr/lib/python2.7/dist-packages/psycopg2/init.py", line 130, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: FATAL: database "bubbleformation" does not exist
我创建了一个名为"bubbleformation"的table,可以通过终端在psql模式下查看
谁能帮我理解应该做什么?我尝试更改密码和用户权限,但其中 none 解决了我的错误。
您应该使用相同的名称 "bubbleformation" 创建数据库和 table。您可能已经在 postgres 数据库中创建了 table。
以 postgres 用户身份输入 psql 并调用 CREATE DATABASE bubbleformation;
,然后使用 \connect bubbleformation
连接到它,然后创建您的 table(类似于 CREATE TABLE bubbleformation (id int, name text);
)。
错误是没有名为"bubbleformation"的数据库,因此当您在终端连接数据库时,需要在数据库参数中指定哪个数据库。当您在终端中连接到数据库时,键入:
SELECT current_database();
如果它确实是一个名为 "bubbleformation" 的数据库,那么它必须是您连接到的不同集群,因此是不同的端口。
披露:我是 EnterpriseDB (EDB) 的员工。
环境错误。我正在从 .env 文件加载凭据。但是我错误地给了一个错误的路径。
project_folder = os.path.expanduser('~/scraping') instead of
project_folder = os.path.expanduser('~/find_my_nearest_store')
load_dotenv(os.path.join(project_folder, '.env'))
因此出现错误。