![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Instalar oracle_fdw en postgres (Debian 11, postgres 13)Se siguen instrucciones de: oracle_fdw wiki, esta thread de stack overflow y estas instrucciones para debian 8.NOTA: Hay una tabla de versiones soportadas en este documento y en la página 5 de este otro. En el primero dan la siguiente información:
1. Se descargan los paquetes del oracle instant client (bugmenot)(he descargado la versión AMD64 en zip a uiharu:/data/oracle-intantclient-amd64/ y a main1:/incoming/oracle-intantclient-amd64/ ). ALternativamente tb. se pueden usar los de x86_64. 2. se descomprimen los zip en /opt/oracle-instantclient de serv_tce/serv_tce2: En la máquina en la que se quiere instalar el oracle_fdw (en nuestro caso servtce11 o servtce2), como root: apt-get install libaio1 cd /opt/ mkdir oracle-instantclient cd oracle-instantclient/ scp metro@16.0.62.18:/incoming/oracle-intantclient-amd64/*.zip . scp metro@16.0.62.18:/incoming/oracle-intantclient-amd64/12.1/*.zip . for i in *zip ; do unzip $i ; done ( cd /opt/oracle-instantclient/instantclient10_1 && ln -s libclntsh.so.10.1 libclntsh.so ) ( cd /opt/oracle-instantclient/instantclient_12_1 && ln -s libclntsh.so.12.1 libclntsh.so ) (cd /usr/lib && ln -s /opt/oracle-instantclient/instantclient_12_1/*.so .) (cd /usr/lib && ln -s /opt/oracle-instantclient/instantclient_12_1/*.so.* .) cat > env.sh.10.1 <<'EOF' export ORACLE_HOME=/opt/oracle-instantclient/instantclient10_1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle-instantclient/instantclient10_1 export PATH=$PATH:$ORACLE_HOME EOF cat > env.sh <<'EOF' export ORACLE_HOME=/opt/oracle-instantclient/instantclient_12_1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle-instantclient/instantclient_12_1 export PATH=$PATH:$ORACLE_HOME EOF chmod a+x env.sh.10.1 env.sh . env.sh sqlplus metro/metro1@//metrosun11:1521/captura SELECT COUNT(*) FROM ESTACIONES; quit echo ". /opt/oracle-instantclient/env.sh" >> /etc/profile sed -i "/^set -e/a. /opt/oracle-instantclient/env.sh" /etc/init.d/postgresql 3. Se compila/instala el oracle_fdw En uiharu, como metro: cd /tmp wget https://github.com/laurenz/oracle_fdw/archive/master.zip -O oracle_fdw.zip scp oracle_fdw.zip metro@main1:/tmp/ En la máquina en la que se quiere instalar el oracle_fdw (en nuestro caso servtce11 o servtce2), como root: cd /opt scp metro@16.0.62.18:/tmp/oracle_fdw.zip . unzip oracle_fdw cd oracle_fdw-master apt-get install postgresql-server-dev-13 # Obtenido de https://github.com/kevincolyar/ruby_oracle_libs/blob/master/linux_x86_64/instantclient_11_1/sdk/include/oci.h sed -i "/include..oci.h/a#ifndef OCI_ATTR_DRIVER_NAME\n#define OCI_ATTR_DRIVER_NAME 424\n#endif" oracle_utils.c sed -i "/include..oci.h/a#ifndef OCI_NCHAR_LITERAL_REPLACE_ON\n#define OCI_NCHAR_LITERAL_REPLACE_ON 0x00400000\n#endif" oracle_utils.c make make install |