Egorian
@Egorian

Ошибка psycopg2.OperationalError: cannot drop the currently open database?

Делаю всё по этому туториалу.
Дошёл до момента когда надо добавлять conn.set_isolation_level(0).
Выдает ошибку
psycopg2.OperationalError: cannot drop the currently open database

Код выглядит так:
import psycopg2
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT

try:
    conn = psycopg2.connect("dbname='db1' user='egor0' host='localhost' password=''")

except:
    print ("I am unable to connect to the database")
conn.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
conn.autocommit = True
cur = conn.cursor()
cur.execute("""SELECT datname from pg_database""")
rows = cur.fetchall()
for row in rows:
    print(row[0])



cur.execute("""DROP DATABASE db1""")

Вот так выглядит моя БД
5b1bcb2151e8e751008703.png
В чём проблема?
  • Вопрос задан
  • 1034 просмотра
Решения вопроса 1
Sputterspark
@Sputterspark
Чтобы дропнуть базу, надо быть подключенным не к ней. Можно например зацепиться к template1. И нужно, чтобы никто другой её в этот момент не использовал.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы