Я делаю это с Postgres Foreign Data Wrapper и dblink,
Таким образом, таблица красного смещения доступна непосредственно в Postgres.
Следуйте инструкциям здесь, чтобы настроить ееhttps://aws.amazon.com/blogs/big-data/join-amazon-redshift-and-amazon-rds-postgresql-with-dblink/
Важной частью этой ссылки является этот код:
CREATE EXTENSION postgres_fdw;
CREATE EXTENSION dblink;
CREATE SERVER foreign_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '<amazon_redshift _ip>', port '<port>', dbname '<database_name>', sslmode 'require');
CREATE USER MAPPING FOR <rds_postgresql_username>
SERVER foreign_server
OPTIONS (user '<amazon_redshift_username>', password '<password>');
Для моего случая использования я затем создал материализованное представление postgres с индексами, основанными на этом.
create materialized view if not exists your_new_view as
SELECT some,
columns,
etc
FROM dblink('foreign_server'::text, '
<the redshift sql>
'::text) t1(some bigint, columns bigint, etc character varying(50));
create unique index if not exists index1
on your_new_view (some);
create index if not exists index2
on your_new_view (columns);
Затем я регулярно запускаю (на postgres)
REFRESH MATERIALIZED VIEW your_new_view;
или
REFRESH MATERIALIZED VIEW CONCURRENTLY your_new_view;