Я обнаружил, что вам нужно использовать Python для этого, так как Redshift основан на Postgres 8. Вы можете собрать psql-клиент из источника Postgres для 8, который также будет работать.
Ниже приведен пример pyЯ использовал:
Требования:
Код для вашего файла, например, mypythonfile.py
import sys
import psycopg2
con=psycopg2.connect("dbname=dev host=" + sys.argv[1] + " port=5439 user=redshift password=" + sys.argv[2])
con.set_isolation_level(0)
cur = con.cursor()
cur.execute("create database myedw with owner redshift")
cur.close()
con.close()
print("Database created")
con=psycopg2.connect("dbname=myedw host=" + sys.argv[1] + " port=5439 user=redshift password=" + sys.argv[2])
con.set_isolation_level(0)
cur = con.cursor()
cur.execute(open("edw-schemas.sql", "r").read())
con.commit()
cur.execute(open("edw-master.sql", "r").read())
print("EDW structure created")
print("Done")
Затем вы можете выполнить скрипт следующим образом:
python mypythonfile.py {redshift host} {password}