Я пытаюсь получить всю таблицу в базе данных Redshift.
import os
import psycopg2
import sys
import rds_config
def lambda_handler(event, context):
#for key in os.environ.keys():
# print(key)
#return 0
REDSHIFT_DATABASE = rds_config.db_name
REDSHIFT_USER = rds_config.db_username
REDSHIFT_PASSWD = rds_config.db_password
REDSHIFT_PORT = rds_config.db_port
REDSHIFT_ENDPOINT = rds_config.db_endpoint
QUERY = "SELECT DISTINCT tablename FROM pg_table_def WHERE schemaname = 'public' ORDER BY tablename;"
try:
conn = psycopg2.connect(
database = REDSHIFT_DATABASE,
user=REDSHIFT_USER,
password=REDSHIFT_PASSWD,
port=REDSHIFT_PORT,
host=REDSHIFT_ENDPOINT)
except Exception as ERROR:
print(ERROR)
sys.exit(1)
try:
cursor = conn.cursor()
print(QUERY)
print(cursor.execute(QUERY))
cursor.close()
conn.commit()
conn.close()
except Exception as ERROR:
print( ERROR)
sys.exit(1)
Приведенный выше запрос выполняется в RedshiftQuery Editor, но он не выполняется, когда я пытаюсь выполнить его с помощью лямбды.
Я просто хочу прочитать все таблицы в Redshift.
Я не получаю никакой ошибки
print(cursor.execute(QUERY))
печать None