Re: COPY and custom datestyles. Or some other technique?

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Ron <ronljohnsonjr(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: COPY and custom datestyles. Or some other technique?
Date: 2023-03-29 23:40:49
Message-ID: a39bee57-813f-6423-008b-4271a147ba54@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 3/29/23 16:31, Adrian Klaver wrote:
> On 3/29/23 16:24, Ron wrote:
>> Postgresql 13.10
>>
>> $ psql -h myhost.example.com -X dba \
>>          -c "\copy ${tbl} from '/var/lib/pgsql/Rdb/${tbl}.csv' WITH
>> DELIMITER '|';"
>> ERROR:  date/time field value out of range: "2013061914122501"
>> CONTEXT:  COPY t_id_master, line 1, column update_timestamp:
>> "2013061914122501"
>>
>> The timestamp format generated by a legacy dbms is YYYYMMDDHHmmSSCC
>> (year to centisecond, with no delimiters).
>>
>> Is there any way to convince Postgresql to import these fields?
>
> One option:
>
> 1) Import into staging table as varchar field.
>
> 2) Use to_timestamp()(NOTE change in template pattern) from here:
>
> https://www.postgresql.org/docs/current/functions-formatting.html
>
> select to_timestamp('2013061914122501', 'YYYYMMDDHH24miSSCC');
>       to_timestamp
> -------------------------
>  06/19/2013 14:12:25 PDT

Actually it probably should be:

select to_timestamp('2013061914122501', 'YYYYMMDDHH24miSSMS');
to_timestamp
----------------------------
06/19/2013 14:12:25.01 PDT

>
> to move the data into final table.
>
>>
>> There are 550+ tables, so something that I can do once on this end
>> would make my life a lot easier.
>>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Thorsten Glaser 2023-03-30 00:20:49 Re: COPY and custom datestyles. Or some other technique?
Previous Message Adrian Klaver 2023-03-29 23:31:21 Re: COPY and custom datestyles. Or some other technique?