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

Even Rouault even.rouault at spatialys.com
Fri Aug 22 10:21:04 PDT 2025


Thomas,

are you sure you really used --overwrite in the terminal and not 
--overwrite-layer ? The latter one is the one you want to use in this 
scenario of opening an existing datasource and overwriting its layer. 
And in python this will be overwrite_layer=True

Even

Le 22/08/2025 à 19:13, Thomas Szczurek-Gayant via gdal-dev a écrit :
>
> 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 !
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev

-- 
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20250822/70368c6c/attachment.htm>


More information about the gdal-dev mailing list