Пишу запрос в DBeaver
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_type = 'BASE TABLE';
и получаю список таблиц, а в python скрипте пустой массив.
Думала, что может в докере не к той базе подключила. Сделала проверку
SELECT current_database();
DBeaver и python скрипте вывели корректное имя базы данных
Обрабатываю результат запроса так:
# Подключение к базе данных
conn = psycopg2.connect(
dbname=os.getenv("DB_NAME"),
user=os.getenv("DB_USERNAME"),
password=os.getenv("DB_PASSWORD"),
host=os.getenv("DB_HOST"),
port=os.getenv("DB_PORT"),
)
sql = """
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_type = 'BASE TABLE';
"""
with conn:
with conn.cursor() as cursor:
cursor.execute(sql)
# Получение результата и распечатка
result = cursor.fetchall()
print(len(result))