[gdal-dev] gdal 3.11 python API and PostgreSQL driver

Thomas Szczurek-Gayant thomas.szczurek at gmail.com
Fri Aug 22 10:13:28 PDT 2025


Hi,


I've a question with the python API of gdal 3.11 new programs and 
PostgreSQL driver.


I can run this in a terminal

gdal vector convert --overwrite base-cc-evol-struct-pop.csv 
PG:"dbname='insee' port=5432 host='localhost' user='thomas' 
password='xxxxxx' schemas='wip' tables='rp_population_import'"

  and everything is working fine.

But if I try from the python API with

gdal.Run("vector", "convert", format="PostgreSQL", overwrite=True, 
input="base-cc-evol-struct-pop.csv", output="dbname='insee' port=5432 
host='localhost' user='thomas' password='xxxxxxxx' schemas='wip' 
tables='rp_population_import'")

Python throw this error as if gdal/postgres actually try to create a new db:

ERROR 1: PostgreSQL driver doesn't currently support database creation.
Please create database with the `createdb' command.
ERROR 1: PostgreSQL driver failed to create dbname='insee' port=5432 
host='localhost' user='thomas' password=XXXXXXXXXXXX schemas='wip' 
tables='rp_population_import'
Traceback (most recent call last):
   File "/home/thomas/repos_git/bd_insee/python/__main__.py", line 63, 
in <module>
     gdal.Run("vector", "convert", format="PostgreSQL", overwrite=True, 
input="base-cc-evol-struct-pop.csv", output="dbname='insee' port=5432 
host='localhost' user='thomas' password='xxxxxx' schemas='wip' 
tables='rp_population_import'")
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File 
"/home/thomas/miniforge3/envs/bd_insee/lib/python3.13/site-packages/osgeo/gdal.py", 
line 3353, in Run
     raise RuntimeError("Algorithm.Run() failed: %s" % GetLastErrorMsg())
RuntimeError: Algorithm.Run() failed: PostgreSQL driver failed to create 
dbname='insee' port=5432 host='localhost' user='thomas' 
password=XXXXXXXXXXXX schemas='wip' tables='rp_population_import'


Does anyone have a clue or it's me doing it bad ?

Thanks !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20250822/135f11b5/attachment.htm>


More information about the gdal-dev mailing list