Расширение oracle_fdw. Установка
Postgresql расширение oracle_fdw для работы с базами данных Oracle.
Данная инстркуция рассматривает установку на ОС Astra Linux SE 1.7.3
Для установки потребуется Postgres-like СУБД. Мы рассмотрим установку расширения в СУБД Tantor SE 14 (установка доступна по инструкции).
1. Устанавливаем СУБД.
2. Прописываем в sources.list
# Базовый репозиторий
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main
3. Устанавливаем инструмент компиляции
apt update
apt install build-essential
5. Создаем папку и переходим в нее
mkdir /opt/git
cd /opt/git
6. Скачиваем исходники oracle_fdw
git clone https://github.com/laurenz/oracle_fdw.git
7. Создадим еще одну папку и перейдем в нее:
mkdir /opt/oracle
cd /opt/oracle
8. Заходим на страницу "Oracle Instant Client Downloads for Linux x86-64 (64-bit)":
https://www.oracle.com/cis/database/technologies/instant-client/linux-x86-64-downloads.html
и скачиваем в папку /opt/oracle два файла (basic и sdk):
instantclient-basic-linux.x64-19.18.0.0.0dbru.zip
и
instantclient-sdk-linux.x64-19.18.0.0.0dbru.zip
9. Распаковываем:
unzip instantclient-basic-linux.x64-19.18.0.0.0dbru.zip
unzip instantclient-sdk-linux.x64-19.18.0.0.0dbru.zip
появится папка /opt/oracle/instantclient_19_18
10. Далее по инструкции от нас требуется установить libaio. Ставим libaio1
apt install libaio1
11. Выполняем:
sudo sh -c "echo /opt/oracle/instantclient_19_18 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_18:$LD_LIBRARY_PATH
export PATH=/opt/oracle/instantclient_19_18:$PATH
export ORACLE_HOME=/opt/oracle/instantclient_19_18
12. Прописываем путь к pg_config
export PATH=/opt/tantor/db/14/bin:$PATH
13. Переходим и выполняем:
cd /opt/git/oracle_fdw
make
make install
14. Заходим в базу и создаем расширение
su - postgres
psql
postgres=# create extension oracle_fdw;
CREATE EXTENSION
\q
That's all folks!