[gdal-dev] COPY statement failed with PG_USE_COPY=YES
Even Rouault
even.rouault at spatialys.com
Mon Nov 27 07:37:31 PST 2023
Hi Matteo,
I've pushed a fix in https://github.com/OSGeo/gdal/pull/8840 for that.
The null dates were formatted in a unusual way. I assume that file was
produced for another dataset where null dates were set to "0000/00/00"
rather than an appropriate null value, which ended in a non-typical null
date being written.
Even
Le 27/11/2023 à 16:04, Matteo Ghetta a écrit :
> Hi Even,
>
> sorry for the delay. In attach you can find a shapefile and here the
> command I'm using:
>
> ogr2ogr -progress --config PG_USE_COPY YES --config SHAPE_ENCODING
> LATIN1 -f PostgreSQL PG:"host=XX port=XX dbname=XX user=XX password=XX
> active_schema=gis" -lco DIM=4 /path/to/FOG_NODI_PT_GIS.shp
> FOG_NODI_PT_GIS -lco LAUNDER=NO -overwrite -nlt POINT -lco
> GEOMETRY_NAME=geom -lco FID=id -nln gis."FOG_NODI_PT_GIS" -s_srs
> EPSG:23032 -t_srs EPSG:4326
>
> Cheers and thanks!
>
> Matteo
>
> On 11/21/23 12:24, Even Rouault wrote:
>> Matteo,
>>
>> From a quick test, I can't reproduce. Please provide a minimum
>> shapefile that reproduces the issue
>>
>> $ cat test.csv
>> id,dt
>> 1,"0000/00/00"
>> $ cat test.csvt
>> Integer,Date
>> $ ogr2ogr date_null.shp test.csv
>> Warning 1: Invalid value type found in record 1 for field dt. This
>> warning will no longer be emitted
>> $ ogr2ogr pg:dbname=autotest date_null.dbf --config PG_USE_COPY YES
>> -overwrite
>> $ ogrinfo pg:dbname=autotest date_null -al
>> INFO: Open of `pg:dbname=autotest'
>> using driver `PostgreSQL' successful.
>>
>> Layer name: date_null
>> Geometry: None
>> Feature Count: 1
>> Layer SRS WKT:
>> (unknown)
>> FID Column = ogc_fid
>> id: Integer (9.0)
>> dt: Date
>> OGRFeature(date_null):1
>> id (Integer) = 1
>> dt (Date) = (null)
>>
>> Even
>>
>> Le 21/11/2023 à 09:24, Matteo Ghetta via gdal-dev a écrit :
>>> Hi all,
>>>
>>> I'm trying to import (many) shapefiles into a PG database. I'm
>>> facing the following error, but only when PG_USE_COPY is set to YES:
>>>
>>> ERROR 1: COPY statement failed.
>>> ERROR: date/time field value out of range: "0000/00/00"
>>> CONTEXT: COPY TABLE, line 12682, column DATA_INI: "0000/00/00"
>>>
>>> The value in the source shapefile is NULL for some rows. With
>>> PG_USE_COPY NO the import works perfectly.
>>>
>>> I've found this old ticket, that seems to describe this exact issue,
>>> and is marked as resolved:
>>>
>>> https://trac.osgeo.org/gdal/ticket/4265
>>>
>>> Tested with:
>>>
>>> * GDAL 3.2.2, released 2021/03/05
>>> * GDAL 3.7.3, released 2023/10/30
>>>
>>> Do you have any ideas about what is causing this?
>>>
>>> Cheers and thanks
>>>
>>> Matteo
>>> _______________________________________________
>>> 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.
More information about the gdal-dev
mailing list