Я хотел начать использовать базы данных в python. Я выбрал postgresql для «языка» базы данных. Я уже создал несколько баз данных, но теперь хочу просто проверить, существует ли база данных с python. Для этого я уже читал этот ответ: Checking if a postgresql table exists under python (and probably Psycopg2) и пытались использовать их решение:Ошибка при тестировании базы данных postgresql с помощью python
import sys
import psycopg2
con = None
try:
con = psycopg2.connect(database="testdb", user="test", password="abcd")
cur = con.cursor()
cur.execute("SELECT exists(SELECT * from information_schema.testdb)")
ver = cur.fetchone()[0]
print ver
except psycopg2.DatabaseError, e:
print "Error %s" %e
sys.exit(1)
finally:
if con:
con.close()
Но, к сожалению, я только получить выход
Error relation "information_schema.testdb" does not exist
LINE 1: SELECT exists(SELECT * from information_schema.testdb)
я делаю что-то неправильно, или я что-то пропустил?
ответ, на который вы ссылаетесь, использует 'information_schema.tables'. Вы не можете просто заменить «tables» своим именем базы данных. – Laurence
Но если я использую 'information_schema.tables', я получаю' false', что неправильно ... –
Если вы еще не создали таблицы, в 'information_schema.tables' не будет строк. Я подозреваю, что сам факт существования вызова 'connect' является доказательством существования базы данных. Если это будет очень легко проверить. – Laurence