{"id":16857,"date":"2022-01-13T16:22:32","date_gmt":"2022-01-13T15:22:32","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/"},"modified":"2025-10-24T09:38:44","modified_gmt":"2025-10-24T07:38:44","slug":"installing-the-odbc-drivers-for-postgresql","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/","title":{"rendered":"Installing the ODBC drivers for PostgreSQL"},"content":{"rendered":"<p>This article is part of a series that includes SQLite, MariaDB, Firebird, Oracle RDBMS, Microsoft SQL Server, HSQLDB, MongoDB, and Excel. The goal is to set up a self-standing environment for testing an ODBC extension for gawk presented here <em>to be completed<\/em>. Refer to <a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-driver-manager-with-sqlite-on-linux\/\">SQLite<\/a> for installing the required ODBC Driver Manager.<br \/>\nThe test system is a debian v11 (bullseye).<br \/>\nThe postgresql drivers can be installed from the platform&#8217;s default package repositories using the following steps as root. As the postgresql service was missing on this test environment, let&#8217;s install it too:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n# apt install postgresql\n<\/pre>\n<p>A systemd service has been created and started, check it:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n# systemctl status postgresql\n\u25cf postgresql.service - PostgreSQL RDBMS\n     Loaded: loaded (\/lib\/systemd\/system\/postgresql.service; enabled; vendor preset: enabled)\n     Active: active (exited) since Mon 2021-08-23 19:04:20 CEST; 1min 15s ago\n   Main PID: 10528 (code=exited, status=0\/SUCCESS)\n      Tasks: 0 (limit: 4659)\n     Memory: 0B\n        CPU: 0\n     CGroup: \/system.slice\/postgresql.service\n<\/pre>\n<p>Check its processes:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n# ps -ef | grep postgres\npostgres     682       1  0 Oct16 ?        00:00:02 \/usr\/lib\/postgresql\/13\/bin\/postgres -D \/var\/lib\/postgresql\/13\/main -c config_file=\/etc\/postgresql\/13\/main\/postgresql.conf\npostgres     807     682  0 Oct16 ?        00:00:00 postgres: 13\/main: checkpointer \npostgres     808     682  0 Oct16 ?        00:00:04 postgres: 13\/main: background writer \npostgres     809     682  0 Oct16 ?        00:00:04 postgres: 13\/main: walwriter \npostgres     810     682  0 Oct16 ?        00:00:01 postgres: 13\/main: autovacuum launcher \npostgres     811     682  0 Oct16 ?        00:00:01 postgres: 13\/main: stats collector \npostgres     812     682  0 Oct16 ?        00:00:00 postgres: 13\/main: logical replication launcher\n<\/pre>\n<p>The processes run under the postgres account.<br \/>\nInstall the ODBC drivers:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n# apt install odbc-postgresql\n<\/pre>\n<p>Check this step:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n# odbcinst -q -d\n...\n[PostgreSQL ANSI]\n[PostgreSQL Unicode]\n<\/pre>\n<p>Two drivers have been installed, one for the ANSI character encoding and one for Unicode; check the Unicode one:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n# odbcinst -q -d -n 'PostgreSQL Unicode'\n[PostgreSQL Unicode]\nDescription=PostgreSQL ODBC driver (Unicode version)\nDriver=psqlodbcw.so\nSetup=libodbcpsqlS.so\nDebug=0\nCommLog=1\nUsageCount=1\n<\/pre>\n<p>Verify that the default native administration tool, psql, is there:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n# psql -V\n# psql (PostgreSQL) 13.3 (Debian 13.3-1)\n<\/pre>\n<p>Switch to the postgres account and create the database:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [2]\">\n# su \u2013 postgres\n$ createdb sampledb\n<\/pre>\n<p>Launch psql and create the tables for postgresql using the scripts <a href=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2020\/04\/postgresql.txt\/\">here<\/a>:<br \/>\nAs those are small files, copying and pasting their content into psql will do just fine.<br \/>\nAlso, populate the tables for postgresql using the data <a href=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2020\/04\/postgresql-data.txt\">here<\/a> and test:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n$ psql sampledb\nsampledb=# SELECT\n        c.country_name,\n        c.country_id,\n        l.country_id,\n        l.street_address,\n        l.city\nFROM\n        countries c\nLEFT JOIN locations l ON l.country_id = c.country_id\nWHERE\n        c.country_id IN ('US', 'UK', 'CN');\nOutput:\n       country_name       | country_id | country_id |              street_address   |    city         \n--------------------------+------------+------------+-------------------------------+-----------\n United States of America | US         | US         | 2014 Jabberwocky Rd           | Southlake\n United States of America | US         | US         | 2011 Interiors Blvd           | South San Francisco\n United States of America | US         | US         | 2004 Charade Rd               | Seattle\n United Kingdom           | UK         | UK         | 8204 Arthur St                | London\n United Kingdom           | UK         | UK         | Magdalen Centre, The Oxford   | Oxford\n                          |            |            | Science Park                  | \n China                    | CN         |            |                               | \n(6 rows)\n<\/pre>\n<p>To test ODBC, first edit ~\/.odbc.ini and add the postgresql database details:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n$ vi ~\/.odbc.ini \n[mypostgresqldb]\nDescription=My Postgresql sample database\nDriver=PostgreSQL Unicode\nDatabase=sampledb\n<\/pre>\n<p>Verify that the edition was successful:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n$ odbcinst -q -s -n mypostgresqldb\n[mypostgresqldb]\nDescription=My Postgresql sample database\nDriver=PostgreSQL Unicode\nDatabase=sampledb\n<\/pre>\n<p>Next, launch isql against that database:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [2]\">\n$ export LD_LIBRARY_PATH=\/usr\/lib\/x86_64-linux-gnu\/odbc:$LD_LIBRARY_PATH\n$ isql -v mypostgresqldb\n+---------------------------------------+\n| Connected!                            |\n|                                       |\n| sql-statement                         |\n| help [tablename]                      |\n| quit                                  |\n|                                       |\n+---------------------------------------+\nSQL&gt; help\n+------------------+-------------+-------------+------------+---------+\n| TABLE_QUALIFIER  | TABLE_OWNER | TABLE_NAME  | TABLE_TYPE | REMARKS |\n+------------------+-------------+-------------+------------+---------+\n| sampledb         | public      | countries   | TABLE      |         |\n| sampledb         | public      | departments | TABLE      |         |\n| sampledb         | public      | dependents  | TABLE      |         |\n| sampledb         | public      | employees   | TABLE      |         |\n| sampledb         | public      | jobs        | TABLE      |         |\n| sampledb         | public      | locations   | TABLE      |         |\n| sampledb         | public      | regions     | TABLE      |         |\n+------------------+-------------+-------------+------------+---------+\nSQLRowCount returns 7\n7 rows fetched\nSQL&gt; quit\n<\/pre>\n<p>The ODBC connectivity to postgresql is confirmed for the postgres account; this is fine for that user but we want the database to be usable by the debian test account too. To this effect, use the following steps from with psql:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\nsampledb=# CREATE ROLE debian superuser;\nCREATE ROLE\nsampledb=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO debian;\nGRANT\nsampledb=# ALTER ROLE debian with login;\nALTER ROLE\nsampledb=# q\n<\/pre>\n<p>Back as root, become debian and test the accessibility of the sampledb:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [3]\">\n# su - debian\n$ psql sampledb\nsampledb=# select count(*) from employees;\n count \n-------\n    40\n(1 row)\n<\/pre>\n<p>Check with isql:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1]\">\n$ isql -v mypostgresqldb\n+---------------------------------------+\n| Connected!                            |\n|                                       |\n| sql-statement                         |\n| help [tablename]                      |\n| quit                                  |\n|                                       |\n+---------------------------------------+\nSQL&gt; SELECT c.country_name, c.country_id, l.country_id, l.street_address, l.city FROM countries c LEFT JOIN locations l ON l.country_id = c.country_id WHERE c.country_id IN ('US', 'UK', 'CN')\n+---------------------------+-------------+-----------+-----------------------+----------------------+\n| country_name              | country_id  | country_id| street_address        | city                 |\n+---------------------------+-------------+-----------+-----------------------+----------------------+\n| United States of America  | US          | US        | 2014 Jabberwocky Rd   | Southlake            |\n| United States of America  | US          | US        | 2011 Interiors Blvd   | South San Francisco  |\n| United States of America  | US          | US        | 2004 Charade Rd       | Seattle              |\n| United Kingdom            | UK          | UK        | 8204 Arthur St        | London               |\n| China                     | CN          |           |                       |                      |\n+---------------------------+-------------+-----------+-----------------------+----------------------+ \nSQLRowCount returns 6\n6 rows fetched\n<\/pre>\n<p>Note that the order of the result set may differ in other data sources; the SQL standard does not define the result set\u2019s order and the ORDER BY clause should be used to enforce one if needed.<br \/>\nFinally, let\u2019s verify the ODBC connectivity through pyodbc:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [1,5]\">\n$ python3\nimport pyodbc Python 3.9.2 (default, Feb 28 2021, 17:03:44) \n[GCC 10.2.1 20210110] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n\nimport pyodbc\n\n# connect directly using the DRIVER definition, no DSN;\ncnxn = pyodbc.connect('DRIVER={PostgreSQL Unicode};Direct=True;Database=sampledb;String Types= Unicode')\n\n# using the DSN is OK too:\n# cnxn = pyodbc.connect('DSN=mypostgresqldb')\ncursor = cnxn.cursor()      \ncursor.execute(\"\"\"SELECT\n...         c.country_name,\n...         c.country_id,\n...         l.country_id,\n...         l.street_address,\n...         l.city\n... FROM\n...         countries c\n... LEFT JOIN locations l ON l.country_id = c.country_id\n... WHERE\n...         c.country_id IN ('US', 'UK', 'CN')\"\"\") \n\nrow = cursor.fetchone() \nwhile row:\n...     print (row) \n...     row = cursor.fetchone()\n... \nOutput:\n('United States of America', 'US', 'US', '2014 Jabberwocky Rd', 'Southlake')\n('United States of America', 'US', 'US', '2011 Interiors Blvd', 'South San Francisco')\n('United States of America', 'US', 'US', '2004 Charade Rd', 'Seattle')\n('United Kingdom', 'UK', 'UK', '8204 Arthur St', 'London')\n('United Kingdom', 'UK', 'UK', 'Magdalen Centre, The Oxford Science Park', 'Oxford')\n('China', 'CN', None, None, None)\n<\/pre>\n<p>Note that we used the PostgreSQL Unicode driver, not the ANSI one because the latter gives the error below:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: []\">\npyodbc.Error: ('07006', '[07006] Received an unsupported type from Postgres. (14) (SQLGetData)')\n<\/pre>\n<p>postgreslq databases can now be used locally by any ODBC client application, e.g. any python program with the pyodbc module, or a desktop application such as LibreOffice. In the case of python, many native modules for postgresql are available but they require ad hoc function calls whereas ODBC lets one use the same statements with any database target, which simplifies the maintenance of ODBC applications.<br \/>\nInstructions for the other data sources can be accessed through the following links:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-driver-manager-with-sqlite-on-linux\">SQLite<\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-hsqldb\">HSQLDB<\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-mariadb\">MariaDB<\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-firebird\">Firebird<\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-oracle-rdbms\">Oracle<\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-microsoft-sqlserver-for-linux\">Microsoft SQLServer for Linux<\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-mongodb\">MongoDB<\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/installing-the-cdata-odbc-drivers-for-excel\/\">Excel<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article is part of a series that includes SQLite, MariaDB, Firebird, Oracle RDBMS, Microsoft SQL Server, HSQLDB, MongoDB, and Excel. The goal is to set up a self-standing environment for testing an ODBC extension for gawk presented here to be completed. Refer to SQLite for installing the required ODBC Driver Manager. The test system [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,368],"tags":[],"type_dbi":[],"class_list":["post-16857","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","category-development-performance"],"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>Installing the ODBC drivers for PostgreSQL - 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\/installing-the-odbc-drivers-for-postgresql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Installing the ODBC drivers for PostgreSQL\" \/>\n<meta property=\"og:description\" content=\"This article is part of a series that includes SQLite, MariaDB, Firebird, Oracle RDBMS, Microsoft SQL Server, HSQLDB, MongoDB, and Excel. The goal is to set up a self-standing environment for testing an ODBC extension for gawk presented here to be completed. Refer to SQLite for installing the required ODBC Driver Manager. The test system [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-13T15:22:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-24T07:38:44+00:00\" \/>\n<meta name=\"author\" content=\"Middleware Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Middleware Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 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\/installing-the-odbc-drivers-for-postgresql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/\"},\"author\":{\"name\":\"Middleware Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\"},\"headline\":\"Installing the ODBC drivers for PostgreSQL\",\"datePublished\":\"2022-01-13T15:22:32+00:00\",\"dateModified\":\"2025-10-24T07:38:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/\"},\"wordCount\":442,\"commentCount\":0,\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Development &amp; Performance\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/\",\"name\":\"Installing the ODBC drivers for PostgreSQL - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2022-01-13T15:22:32+00:00\",\"dateModified\":\"2025-10-24T07:38:44+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Installing the ODBC drivers for PostgreSQL\"}]},{\"@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\/8d8563acfc6e604cce6507f45bac0ea1\",\"name\":\"Middleware Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"caption\":\"Middleware Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Installing the ODBC drivers for PostgreSQL - 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\/installing-the-odbc-drivers-for-postgresql\/","og_locale":"en_US","og_type":"article","og_title":"Installing the ODBC drivers for PostgreSQL","og_description":"This article is part of a series that includes SQLite, MariaDB, Firebird, Oracle RDBMS, Microsoft SQL Server, HSQLDB, MongoDB, and Excel. The goal is to set up a self-standing environment for testing an ODBC extension for gawk presented here to be completed. Refer to SQLite for installing the required ODBC Driver Manager. The test system [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/","og_site_name":"dbi Blog","article_published_time":"2022-01-13T15:22:32+00:00","article_modified_time":"2025-10-24T07:38:44+00:00","author":"Middleware Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Middleware Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/"},"author":{"name":"Middleware Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"headline":"Installing the ODBC drivers for PostgreSQL","datePublished":"2022-01-13T15:22:32+00:00","dateModified":"2025-10-24T07:38:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/"},"wordCount":442,"commentCount":0,"articleSection":["Database Administration &amp; Monitoring","Development &amp; Performance"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/","url":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/","name":"Installing the ODBC drivers for PostgreSQL - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2022-01-13T15:22:32+00:00","dateModified":"2025-10-24T07:38:44+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/installing-the-odbc-drivers-for-postgresql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Installing the ODBC drivers for PostgreSQL"}]},{"@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\/8d8563acfc6e604cce6507f45bac0ea1","name":"Middleware Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","caption":"Middleware Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/16857","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\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=16857"}],"version-history":[{"count":1,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/16857\/revisions"}],"predecessor-version":[{"id":41202,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/16857\/revisions\/41202"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=16857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=16857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=16857"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=16857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}