Архив рубрики «PostgreSQL»
Настройка линка к Oracle из PostgreSQL
- Устанавливаем инстант клиента Oracle
- Устанавливаем враппер oracle_fdw (в PostgresPro EE пакет есть непосредственно в репозитории, в противном случае надо собирать из исходников)
- В БД PostgreSQL создаем экстеншен:
create extension oracle_fdw; - Создаем внешний сервер, например
create server alcor_dev8i foreign data wrapper oracle_fdw options (dbserver ‘//alcor:1521/dev8i.internal’ ); - Делаем маппинг пользователя (в примере пользователь xxi и в Oracle и в PostgreSQL)
create user mapping for xxi server alcor_dev8i options (user ‘xxi’, password ‘passwd’); - Даем права на использование внешнего сервера пользователь (в примере — xxi)
grant usage on foreign server alcor_dev8i to xxi; - Уже под пользователем xxi создаем внешнюю таблицу
create foreign table skp_dev8i (iskpnum int, cskptype char(1), cskpname varchar(1024)) server alcor_dev8i options (schema ‘XXI’, table ‘SKP’);
Столбцы мапятся по порядку, а не по имени. Непосредственно во внешней таблице на PG их можно назвать как угодно. Если пропустить один столбец, то все равно будет мапится по порядку, вне зависимости от его названия. Опции schema и table — регистрозависимы!