Популярные сообщения

вторник, 25 марта 2025 г.

Установка расширения oracle_fdw

 Сборку расширения, нужно повторить как на основной базе так и стендбае.


Ссылки для скачивания
https://www.oracle.com/cis/database/technologies/instant-client/linux-x86-64-downloads.html
https://github.com/laurenz/oracle_fdw

В некоторых минорных релизах PostgreSQL могут не работать некоторые версии oracle_fdw.
Или брать версию младше oracle_fdw или поднимать PostgreSQL если это возможно и РК поддерживает эту версию.

Из под root

EDITOR=vim visudo
и добавляем в конец
postgres  ALL=(ALL:ALL) NOPASSWD:ALL


Из под root

mkdir -p /opt/oracle/
chown postgres:postgres /opt/oracle/

Из под postgres

Кладем в /opt/oracle/

instantclient-basic-linux.x64-19.20.0.0.0dbru.zip
instantclient-sdk-linux.x64-19.20.0.0.0dbru.zip

unzip instantclient-basic-linux.x64-19.20.0.0.0dbru.zip
unzip instantclient-sdk-linux.x64-19.20.0.0.0dbru.zip

в /opt/postgres/14.5/distr кладем oracle_fdw-ORACLE_FDW_2_4_0.tar.gz

tar -zxvf oracle_fdw-ORACLE_FDW_2_4_0.tar.gz
cp -r oracle_fdw-ORACLE_FDW_2_4_0 postgresql-14.5/contrib/
cd /opt/postgres/14.5/distr/postgresql-14.5/contrib/oracle_fdw-ORACLE_FDW_2_4_0
sudo sh -c "echo /opt/oracle/instantclient_19_20 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig


из под postgres

export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_20:$LD_LIBRARY_PATH
export PATH=/opt/oracle/instantclient_19_20:$PATH
export ORACLE_HOME=/opt/oracle/instantclient_19_20
chown -R postgres:postgres /opt/postgres/14.5/

Находясь в /opt/postgres/14.5/distr/postgresql-14.5/contrib/oracle_fdw-ORACLE_FDW_2_4_0
делаем

make
make install

Должно собраться без ошибок.

Далее в psql

Сначала создаем в postgres базе
postgres@postgres=# create extension oracle_fdw;
А потом в той которой надо
postgres@postgres=# \c ms
You are now connected to database "ms" as user "postgres".
postgres@ms=# create extension oracle_fdw;
LOG: statement: create extension oracle_fdw;
CREATE EXTENSION
Time: 52,661 ms

Комментариев нет:

Отправить комментарий