{"id":8916,"date":"2016-09-27T13:03:49","date_gmt":"2016-09-27T11:03:49","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/"},"modified":"2016-09-27T13:03:49","modified_gmt":"2016-09-27T11:03:49","slug":"connecting-your-postgresql-instance-to-an-oracle-database-debian-version","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/","title":{"rendered":"Connecting your PostgreSQL instance to an Oracle database &#8211; Debian version"},"content":{"rendered":"<p>Some time ago I blogged about <a href=\"http:\/\/dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database\/\" target=\"_blank\">attaching your PostgreSQL instance to an Oracle database<\/a> by using the <a href=\"https:\/\/github.com\/laurenz\/oracle_fdw\/\" target=\"_blank\">oracle_fdw<\/a> foreign data wrapper. This resulted in a comment which is the reason for this post: Doing the same with a Debian system where you can not use the rpm versions of the Oracle Instant Client (at least not directly). Lets go &#8230;<\/p>\n<p><!--more--><\/p>\n<p>What I did to start with is to download the <a href=\"http:\/\/cdimage.debian.org\/debian-cd\/8.6.0\/amd64\/iso-cd\/debian-8.6.0-amd64-netinst.iso\" target=\"_blank\">Debian 8 netinstall ISO<\/a> and started from there with a minimal installation (see the end of this post for the screen shots of the installation if you are not sure on how to do it).<\/p>\n<p>As I will compile PostgreSQL from source I&#8217;ll need to install the required packages:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@debianpg:~ apt-get install libldap2-dev libpython-dev libreadline-dev libssl-dev bison flex libghc-zlib-dev libcrypto++-dev libxml2-dev libxslt1-dev tcl tclcl-dev bzip2 wget screen ksh git unzip\n<\/pre>\n<p>Create the directory structure for my PostgreSQL binaries and instance:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@debianpg:~ mkdir -p \/u01\/app\/postgres\/product\nroot@debianpg:~ chown -R postgres:postgres \/u01\/app \nroot@debianpg:~ mkdir -p \/u02\/pgdata\nroot@debianpg:~ mkdir -p \/u03\/pgdata\nroot@debianpg:~ chown -R postgres:postgres \/u0*\/pgdata \n<\/pre>\n<p>Compile and install PostgreSQL from source:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:~$ PGHOME=\/u01\/app\/postgres\/product\/95\/db_4\npostgres@debianpg:~$ SEGSIZE=2\npostgres@debianpg:~$ BLOCKSIZE=8\npostgres@debianpg:~$ WALSEGSIZE=16\npostgres@debianpg:~$ wget https:\/\/ftp.postgresql.org\/pub\/source\/v9.5.4\/postgresql-9.5.4.tar.bz2\npostgres@debianpg:~$ tar -axf postgresql-9.5.4.tar.bz2\npostgres@debianpg:~$ cd postgresql-9.5.4\/\n.\/configure --prefix=${PGHOME} \\\n            --exec-prefix=${PGHOME} \\\n            --bindir=${PGHOME}\/bin \\\n            --libdir=${PGHOME}\/lib \\\n            --sysconfdir=${PGHOME}\/etc \\\n            --includedir=${PGHOME}\/include \\\n            --datarootdir=${PGHOME}\/share \\\n            --datadir=${PGHOME}\/share \\\n            --with-pgport=5432 \\\n            --with-perl \\\n            --with-python \\\n            --with-openssl \\\n            --with-ldap \\\n            --with-libxml \\\n            --with-libxslt \\\n            --with-segsize=${SEGSIZE} \\\n            --with-blocksize=${BLOCKSIZE} \\\n            --with-wal-segsize=${WALSEGSIZE}  \\\n            --with-extra-version=\" dbi services build\"\npostgres@debianpg:~$ make world\npostgres@debianpg:~$ make install\npostgres@debianpg:~$ cd contrib\npostgres@debianpg:~$ make install\npostgres@debianpg:~$ cd ..\/..\npostgres@debianpg:~$ rm -rf postgres*\n<\/pre>\n<p>Initialize a new cluster:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:~$ \/u01\/app\/postgres\/product\/95\/db_4\/bin\/initdb -D \/u02\/pgdata\/PG1 -X \/u02\/pgdata\/PG1 --locale=en_US.UTF-8\nThe files belonging to this database system will be owned by user \"postgres\".\nThis user must also own the server process.\n\nThe database cluster will be initialized with locale \"en_US.UTF-8\".\nThe default database encoding has accordingly been set to \"UTF8\".\nThe default text search configuration will be set to \"english\".\n\nData page checksums are disabled.\n\ncreating directory \/u02\/pgdata\/PG1 ... ok\nfixing permissions on existing directory \/u02\/pgdata\/PG1 ... ok\ncreating subdirectories ... ok\nselecting default max_connections ... 100\nselecting default shared_buffers ... 128MB\nselecting dynamic shared memory implementation ... posix\ncreating configuration files ... ok\ncreating template1 database in \/u02\/pgdata\/PG1\/base\/1 ... ok\ninitializing pg_authid ... ok\ninitializing dependencies ... ok\ncreating system views ... ok\nloading system objects' descriptions ... ok\ncreating collations ... ok\ncreating conversions ... ok\ncreating dictionaries ... ok\nsetting privileges on built-in objects ... ok\ncreating information schema ... ok\nloading PL\/pgSQL server-side language ... ok\nvacuuming database template1 ... ok\ncopying template1 to template0 ... ok\ncopying template1 to postgres ... ok\nsyncing data to disk ... ok\n\nWARNING: enabling \"trust\" authentication for local connections\nYou can change this by editing pg_hba.conf or using the option -A, or\n--auth-local and --auth-host, the next time you run initdb.\n\nSuccess. You can now start the database server using:\n\n    \/u01\/app\/postgres\/product\/95\/db_4\/bin\/pg_ctl -D \/u02\/pgdata\/PG1 -l logfile start\n<\/pre>\n<p>Adjust the <a href=\"https:\/\/www.postgresql.org\/docs\/9.5\/static\/runtime-config-logging.html#GUC-LOGGING-COLLECTOR\" target=\"_blank\">logging_collector<\/a> parameter and startup the instance:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:~$ sed -i 's\/#logging_collector = off\/logging_collector = on\/g' \/u02\/pgdata\/PG1\/postgresql.conf\npostgres@debianpg:~$ mkdir \/u02\/pgdata\/PG1\/pg_log\npostgres@debianpg:~$ \/u01\/app\/postgres\/product\/95\/db_4\/bin\/pg_ctl start -D \/u02\/pgdata\/PG1\/\npostgres@debianpg:~$ \/u01\/app\/postgres\/product\/95\/db_4\/bin\/psql\npsql (9.5.4 dbi services build)\nType \"help\" for help.\n\npostgres= select version();\n                                                   version                                                   \n-------------------------------------------------------------------------------------------------------------\n PostgreSQL 9.5.4 dbi services build on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit\n(1 row)\n\npostgres=\n<\/pre>\n<p>Download the Oracle Instant Client zip file from <a href=\"http:\/\/www.oracle.com\/technetwork\/topics\/linuxx86-64soft-092277.html\" target=\"_blank\">here<\/a>. You&#8217;ll need these:<\/p>\n<ul>\n<li>instantclient-basic-linux.x64-12.1.0.2.0.zip<\/li>\n<li>instantclient-sqlplus-linux.x64-12.1.0.2.0.zip<\/li>\n<li>instantclient-sdk-linux.x64-12.1.0.2.0.zip<\/li>\n<\/ul>\n<p>Extract to a location which fits your needs:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:~$ cd \/u01\/app\/\npostgres@debianpg:\/u01\/app$ unzip \/home\/postgres\/instantclient-basic-linux.x64-12.1.0.2.0.zip\npostgres@debianpg:\/u01\/app$ unzip \/home\/postgres\/instantclient-sqlplus-linux.x64-12.1.0.2.0.zip\npostgres@debianpg:\/u01\/app$ unzip \/home\/postgres\/instantclient-sdk-linux.x64-12.1.0.2.0.zip\npostgres@debianpg:\/u01\/app$ ls -l\ntotal 8\ndrwxr-xr-x 3 postgres postgres 4096 Sep 27 12:04 instantclient_12_1\ndrwxr-xr-x 4 postgres postgres 4096 Sep 27 10:57 postgres\n<\/pre>\n<p>Do a connection test with sqlplus to be sure the instant client is working in general:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:\/u01\/app$ export ORACLE_HOME=\/u01\/app\/instantclient_12_1\npostgres@debianpg:\/u01\/app$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\/u01\/app\/instantclient_12_1\npostgres@debianpg:\/u01\/app$ export PATH=$PATH:$ORACLE_HOME\npostgres@debianpg:\/u01\/app$ which sqlplus\n\/u01\/app\/instantclient_12_1\/sqlplus\npostgres@debianpg:\/u01\/app$ sqlplus sh\/sh@192.168.22.242:1521\/PROD\nsqlplus: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory\n<\/pre>\n<p>Ups, easy to fix:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@debianpg:~ apt-get install libaio1\n<\/pre>\n<p>Again:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:\/u01\/app$ sqlplus sh\/sh@192.168.22.242:1521\/PROD.local\n\nSQL*Plus: Release 12.1.0.2.0 Production on Tue Sep 27 12:12:44 2016\n\nCopyright (c) 1982, 2014, Oracle.  All rights reserved.\n\nLast Successful login time: Tue Sep 27 2016 12:09:05 +02:00\n\nConnected to:\nOracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production\nWith the Partitioning, OLAP, Advanced Analytics and Real Application Testing options\n\nSQL&gt; \n<\/pre>\n<p>Perfect. Connections are working to the Oracle instance. Continue with the oracle_fdw setup:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:~$ wget https:\/\/github.com\/laurenz\/oracle_fdw\/archive\/master.zip\npostgres@debianpg:~$ unzip master.zip \npostgres@debianpg:~$ cd oracle_fdw-master\/\npostgres@debianpg:~\/oracle_fdw-master$ export PATH=\/u01\/app\/postgres\/product\/95\/db_4\/bin\/:$PATH\npostgres@debianpg:~\/oracle_fdw-master$ which pg_config \n\/u01\/app\/postgres\/product\/95\/db_4\/bin\/\/pg_config\npostgres@debianpg:~\/oracle_fdw-master$ make\n...\n\/usr\/bin\/ld: cannot find -lclntsh\ncollect2: error: ld returned 1 exit status\n\/u01\/app\/postgres\/product\/95\/db_4\/lib\/pgxs\/src\/makefiles\/..\/..\/src\/Makefile.shlib:311: recipe for target 'oracle_fdw.so' failed\nmake: *** [oracle_fdw.so] Error 1\n<\/pre>\n<p>This one was unexpected. After some digging this resolves the issue:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:\/u01\/app\/instantclient_12_1$ cd \/u01\/app\/instantclient_12_1\npostgres@debianpg:\/u01\/app\/instantclient_12_1$ ln -s libclntsh.so.12.1 libclntsh.so\n<\/pre>\n<p>Not sure if I missed something or this is a bug (you can follow the issue <a href=\"https:\/\/github.com\/laurenz\/oracle_fdw\/issues\/129\" target=\"_blank\">here<\/a>).<\/p>\n<p>Once the link is there you&#8217;ll be able to &#8220;make&#8221; and to &#8220;make install&#8221;. This is the result:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:~\/oracle_fdw-master$ make\ngcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fpic -I\/u01\/app\/instantclient_12_1\/sdk\/include -I\/u01\/app\/instantclient_12_1\/oci\/include -I\/u01\/app\/instantclient_12_1\/rdbms\/public -I\/usr\/include\/oracle\/12.1\/client -I\/usr\/include\/oracle\/12.1\/client64 -I\/usr\/include\/oracle\/11.2\/client -I\/usr\/include\/oracle\/11.2\/client64 -I\/usr\/include\/oracle\/11.1\/client -I\/usr\/include\/oracle\/11.1\/client64 -I\/usr\/include\/oracle\/10.2.0.5\/client -I\/usr\/include\/oracle\/10.2.0.5\/client64 -I\/usr\/include\/oracle\/10.2.0.4\/client -I\/usr\/include\/oracle\/10.2.0.4\/client64 -I\/usr\/include\/oracle\/10.2.0.3\/client -I\/usr\/include\/oracle\/10.2.0.3\/client64 -I. -I.\/ -I\/u01\/app\/postgres\/product\/95\/db_4\/include\/server -I\/u01\/app\/postgres\/product\/95\/db_4\/include\/internal -D_GNU_SOURCE -I\/usr\/include\/libxml2   -c -o oracle_fdw.o oracle_fdw.c\ngcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fpic -I\/u01\/app\/instantclient_12_1\/sdk\/include -I\/u01\/app\/instantclient_12_1\/oci\/include -I\/u01\/app\/instantclient_12_1\/rdbms\/public -I\/usr\/include\/oracle\/12.1\/client -I\/usr\/include\/oracle\/12.1\/client64 -I\/usr\/include\/oracle\/11.2\/client -I\/usr\/include\/oracle\/11.2\/client64 -I\/usr\/include\/oracle\/11.1\/client -I\/usr\/include\/oracle\/11.1\/client64 -I\/usr\/include\/oracle\/10.2.0.5\/client -I\/usr\/include\/oracle\/10.2.0.5\/client64 -I\/usr\/include\/oracle\/10.2.0.4\/client -I\/usr\/include\/oracle\/10.2.0.4\/client64 -I\/usr\/include\/oracle\/10.2.0.3\/client -I\/usr\/include\/oracle\/10.2.0.3\/client64 -I. -I.\/ -I\/u01\/app\/postgres\/product\/95\/db_4\/include\/server -I\/u01\/app\/postgres\/product\/95\/db_4\/include\/internal -D_GNU_SOURCE -I\/usr\/include\/libxml2   -c -o oracle_utils.o oracle_utils.c\ngcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fpic -I\/u01\/app\/instantclient_12_1\/sdk\/include -I\/u01\/app\/instantclient_12_1\/oci\/include -I\/u01\/app\/instantclient_12_1\/rdbms\/public -I\/usr\/include\/oracle\/12.1\/client -I\/usr\/include\/oracle\/12.1\/client64 -I\/usr\/include\/oracle\/11.2\/client -I\/usr\/include\/oracle\/11.2\/client64 -I\/usr\/include\/oracle\/11.1\/client -I\/usr\/include\/oracle\/11.1\/client64 -I\/usr\/include\/oracle\/10.2.0.5\/client -I\/usr\/include\/oracle\/10.2.0.5\/client64 -I\/usr\/include\/oracle\/10.2.0.4\/client -I\/usr\/include\/oracle\/10.2.0.4\/client64 -I\/usr\/include\/oracle\/10.2.0.3\/client -I\/usr\/include\/oracle\/10.2.0.3\/client64 -I. -I.\/ -I\/u01\/app\/postgres\/product\/95\/db_4\/include\/server -I\/u01\/app\/postgres\/product\/95\/db_4\/include\/internal -D_GNU_SOURCE -I\/usr\/include\/libxml2   -c -o oracle_gis.o oracle_gis.c\ngcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fpic -shared -o oracle_fdw.so oracle_fdw.o oracle_utils.o oracle_gis.o -L\/u01\/app\/postgres\/product\/95\/db_4\/lib -Wl,--as-needed -Wl,-rpath,'\/u01\/app\/postgres\/product\/95\/db_4\/lib',--enable-new-dtags  -L\/u01\/app\/instantclient_12_1 -L\/u01\/app\/instantclient_12_1\/bin -L\/u01\/app\/instantclient_12_1\/lib -L\/u01\/app\/instantclient_12_1\/sdk\/include -lclntsh -L\/usr\/lib\/oracle\/12.1\/client\/lib -L\/usr\/lib\/oracle\/12.1\/client64\/lib -L\/usr\/lib\/oracle\/11.2\/client\/lib -L\/usr\/lib\/oracle\/11.2\/client64\/lib -L\/usr\/lib\/oracle\/11.1\/client\/lib -L\/usr\/lib\/oracle\/11.1\/client64\/lib -L\/usr\/lib\/oracle\/10.2.0.5\/client\/lib -L\/usr\/lib\/oracle\/10.2.0.5\/client64\/lib -L\/usr\/lib\/oracle\/10.2.0.4\/client\/lib -L\/usr\/lib\/oracle\/10.2.0.4\/client64\/lib -L\/usr\/lib\/oracle\/10.2.0.3\/client\/lib -L\/usr\/lib\/oracle\/10.2.0.3\/client64\/lib \npostgres@debianpg:~\/oracle_fdw-master$ make install\n\/bin\/mkdir -p '\/u01\/app\/postgres\/product\/95\/db_4\/lib'\n\/bin\/mkdir -p '\/u01\/app\/postgres\/product\/95\/db_4\/share\/extension'\n\/bin\/mkdir -p '\/u01\/app\/postgres\/product\/95\/db_4\/share\/extension'\n\/bin\/mkdir -p '\/u01\/app\/postgres\/product\/95\/db_4\/share\/doc\/extension'\n\/usr\/bin\/install -c -m 755  oracle_fdw.so '\/u01\/app\/postgres\/product\/95\/db_4\/lib\/oracle_fdw.so'\n\/usr\/bin\/install -c -m 644 .\/\/oracle_fdw.control '\/u01\/app\/postgres\/product\/95\/db_4\/share\/extension\/'\n\/usr\/bin\/install -c -m 644 .\/\/oracle_fdw--1.1.sql .\/\/oracle_fdw--1.0--1.1.sql  '\/u01\/app\/postgres\/product\/95\/db_4\/share\/extension\/'\n\/usr\/bin\/install -c -m 644 .\/\/README.oracle_fdw '\/u01\/app\/postgres\/product\/95\/db_4\/share\/doc\/extension\/'\n<\/pre>\n<p>Remember that the PostgreSQL instance needs to find the Oracle libraries, so set the environment before restarting PostgreSQL:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@debianpg:~$ echo $ORACLE_HOME\n\/u01\/app\/instantclient_12_1\npostgres@debianpg:~$ echo $LD_LIBRARY_PATH\n:\/u01\/app\/instantclient_12_1:\/u01\/app\/instantclient_12_1\/sdk\/include\/\npostgres@debianpg:~$ pg_ctl -D \/u02\/pgdata\/PG1\/ restart -m fast\npostgres@debianpg:~$ psql\npsql (9.5.4 dbi services build)\nType \"help\" for help.\n\npostgres= create extension oracle_fdw;\nCREATE EXTENSION\npostgres= \\dx\n                        List of installed extensions\n    Name    | Version |   Schema   |              Description               \n------------+---------+------------+----------------------------------------\n oracle_fdw | 1.1     | public     | foreign data wrapper for Oracle access\n plpgsql    | 1.0     | pg_catalog | PL\/pgSQL procedural language\n(2 rows)\n<\/pre>\n<p>All fine. Lets get the foreign data:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres= create schema oracle;\nCREATE SCHEMA\npostgres= create server oracle foreign data wrapper oracle_fdw options (dbserver '\/\/192.168.22.242\/PROD.local' );\nCREATE SERVER\npostgres= create user mapping for postgres server oracle options (user 'sh', password 'sh');\nCREATE USER MAPPING\npostgres= import foreign schema \"SH\" from server oracle into oracle;\nIMPORT FOREIGN SCHEMA\npostgres= set search_path='oracle';\nSET\npostgres= \\d\n                       List of relations\n Schema |            Name            |     Type      |  Owner   \n--------+----------------------------+---------------+----------\n oracle | cal_month_sales_mv         | foreign table | postgres\n oracle | channels                   | foreign table | postgres\n oracle | costs                      | foreign table | postgres\n oracle | countries                  | foreign table | postgres\n oracle | currency                   | foreign table | postgres\n oracle | customers                  | foreign table | postgres\n oracle | dimension_exceptions       | foreign table | postgres\n oracle | fweek_pscat_sales_mv       | foreign table | postgres\n oracle | products                   | foreign table | postgres\n oracle | profits                    | foreign table | postgres\n oracle | promotions                 | foreign table | postgres\n oracle | sales                      | foreign table | postgres\n oracle | sales_transactions_ext     | foreign table | postgres\n oracle | supplementary_demographics | foreign table | postgres\n oracle | times                      | foreign table | postgres\n(15 rows)\n\npostgres= select count(*) from countries;\n count \n-------\n    23\n(1 row)\n<\/pre>\n<p>Perfect, works. Hope this helps.<\/p>\n<p>Debian 8 installation screen shots:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-1.png\" alt=\"Selection_014\" width=\"642\" height=\"479\" class=\"aligncenter size-full wp-image-11136\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_015-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_015-1.png\" alt=\"Selection_015\" width=\"782\" height=\"585\" class=\"aligncenter size-full wp-image-11137\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-1.png\" alt=\"Selection_016\" width=\"785\" height=\"544\" class=\"aligncenter size-full wp-image-11138\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_017-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_017-1.png\" alt=\"Selection_017\" width=\"784\" height=\"460\" class=\"aligncenter size-full wp-image-11139\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0181.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0181.png\" alt=\"Selection_018\" width=\"786\" height=\"582\" class=\"aligncenter size-full wp-image-11141\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_020-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_020-1.png\" alt=\"Selection_020\" width=\"786\" height=\"584\" class=\"aligncenter size-full wp-image-11142\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_021-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_021-1.png\" alt=\"Selection_021\" width=\"790\" height=\"591\" class=\"aligncenter size-full wp-image-11143\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_022-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_022-1.png\" alt=\"Selection_022\" width=\"799\" height=\"570\" class=\"aligncenter size-full wp-image-11144\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_023-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_023-1.png\" alt=\"Selection_023\" width=\"789\" height=\"576\" class=\"aligncenter size-full wp-image-11145\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_024-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_024-1.png\" alt=\"Selection_024\" width=\"790\" height=\"587\" class=\"aligncenter size-full wp-image-11146\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_025-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_025-3.png\" alt=\"Selection_025\" width=\"790\" height=\"581\" class=\"aligncenter size-full wp-image-11147\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_026-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_026-3.png\" alt=\"Selection_026\" width=\"799\" height=\"584\" class=\"aligncenter size-full wp-image-11148\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_027-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_027-1.png\" alt=\"Selection_027\" width=\"794\" height=\"591\" class=\"aligncenter size-full wp-image-11149\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_028-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_028-1.png\" alt=\"Selection_028\" width=\"790\" height=\"588\" class=\"aligncenter size-full wp-image-11150\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_029-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_029-1.png\" alt=\"Selection_029\" width=\"788\" height=\"591\" class=\"aligncenter size-full wp-image-11151\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_030-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_030-1.png\" alt=\"Selection_030\" width=\"796\" height=\"583\" class=\"aligncenter size-full wp-image-11152\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_031-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_031-1.png\" alt=\"Selection_031\" width=\"797\" height=\"587\" class=\"aligncenter size-full wp-image-11153\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_032-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_032-1.png\" alt=\"Selection_032\" width=\"792\" height=\"584\" class=\"aligncenter size-full wp-image-11154\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_033-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_033-1.png\" alt=\"Selection_033\" width=\"784\" height=\"590\" class=\"aligncenter size-full wp-image-11155\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_034-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_034-1.png\" alt=\"Selection_034\" width=\"794\" height=\"586\" class=\"aligncenter size-full wp-image-11156\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_036-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_036-1.png\" alt=\"Selection_036\" width=\"795\" height=\"588\" class=\"aligncenter size-full wp-image-11157\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_037-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_037-1.png\" alt=\"Selection_037\" width=\"777\" height=\"586\" class=\"aligncenter size-full wp-image-11158\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_038-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_038-1.png\" alt=\"Selection_038\" width=\"796\" height=\"579\" class=\"aligncenter size-full wp-image-11159\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_039-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_039-1.png\" alt=\"Selection_039\" width=\"795\" height=\"571\" class=\"aligncenter size-full wp-image-11160\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_040-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_040-1.png\" alt=\"Selection_040\" width=\"795\" height=\"585\" class=\"aligncenter size-full wp-image-11161\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_041.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_041.png\" alt=\"Selection_041\" width=\"799\" height=\"582\" class=\"aligncenter size-full wp-image-11162\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_042-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_042-1.png\" alt=\"Selection_042\" width=\"801\" height=\"581\" class=\"aligncenter size-full wp-image-11163\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043.png\" alt=\"Selection_043\" width=\"793\" height=\"589\" class=\"aligncenter size-full wp-image-11164\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_044-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_044-1.png\" alt=\"Selection_044\" width=\"797\" height=\"588\" class=\"aligncenter size-full wp-image-11165\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_045-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_045-1.png\" alt=\"Selection_045\" width=\"791\" height=\"597\" class=\"aligncenter size-full wp-image-11166\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_046-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_046-1.png\" alt=\"Selection_046\" width=\"796\" height=\"594\" class=\"aligncenter size-full wp-image-11167\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_047-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_047-1.png\" alt=\"Selection_047\" width=\"633\" height=\"467\" class=\"aligncenter size-full wp-image-11169\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_048-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_048-1.png\" alt=\"Selection_048\" width=\"723\" height=\"392\" class=\"aligncenter size-full wp-image-11170\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some time ago I blogged about attaching your PostgreSQL instance to an Oracle database by using the oracle_fdw foreign data wrapper. This resulted in a comment which is the reason for this post: Doing the same with a Debian system where you can not use the rpm versions of the Oracle Instant Client (at least [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":8950,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[77],"type_dbi":[],"class_list":["post-8916","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","tag-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Connecting your PostgreSQL instance to an Oracle database - Debian version - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Connecting your PostgreSQL instance to an Oracle database - Debian version\" \/>\n<meta property=\"og:description\" content=\"Some time ago I blogged about attaching your PostgreSQL instance to an Oracle database by using the oracle_fdw foreign data wrapper. This resulted in a comment which is the reason for this post: Doing the same with a Debian system where you can not use the rpm versions of the Oracle Instant Client (at least [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-27T11:03:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"642\" \/>\n\t<meta property=\"og:image:height\" content=\"479\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Connecting your PostgreSQL instance to an Oracle database &#8211; Debian version\",\"datePublished\":\"2016-09-27T11:03:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/\"},\"wordCount\":308,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png\",\"keywords\":[\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/\",\"name\":\"Connecting your PostgreSQL instance to an Oracle database - Debian version - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png\",\"datePublished\":\"2016-09-27T11:03:49+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png\",\"width\":642,\"height\":479},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connecting your PostgreSQL instance to an Oracle database &#8211; Debian version\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Connecting your PostgreSQL instance to an Oracle database - Debian version - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/","og_locale":"en_US","og_type":"article","og_title":"Connecting your PostgreSQL instance to an Oracle database - Debian version","og_description":"Some time ago I blogged about attaching your PostgreSQL instance to an Oracle database by using the oracle_fdw foreign data wrapper. This resulted in a comment which is the reason for this post: Doing the same with a Debian system where you can not use the rpm versions of the Oracle Instant Client (at least [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/","og_site_name":"dbi Blog","article_published_time":"2016-09-27T11:03:49+00:00","og_image":[{"width":642,"height":479,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png","type":"image\/png"}],"author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Connecting your PostgreSQL instance to an Oracle database &#8211; Debian version","datePublished":"2016-09-27T11:03:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/"},"wordCount":308,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png","keywords":["PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/","url":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/","name":"Connecting your PostgreSQL instance to an Oracle database - Debian version - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png","datePublished":"2016-09-27T11:03:49+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-2.png","width":642,"height":479},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/connecting-your-postgresql-instance-to-an-oracle-database-debian-version\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Connecting your PostgreSQL instance to an Oracle database &#8211; Debian version"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/8916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=8916"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/8916\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/8950"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=8916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=8916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=8916"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=8916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}