Re: Odd error in timestamp processing - Mailing list pgsql-admin

From Tim Ellis
Subject Re: Odd error in timestamp processing
Date
Msg-id 20020723142528.77dff668.Tim.Ellis@gamet.com
Whole thread Raw
In response to Re: Odd error in timestamp processing  ("Robert M. Meyer" <rmeyer@installs.com>)
Responses Re: Odd error in timestamp processing  ("Robert M. Meyer" <rmeyer@installs.com>)
CP-1251 encoding and ILIKE  (Heni Lolov <hal_bg@yahoo.com>)
List pgsql-admin
> We had this problem, too.  Very annoying.  It appears to be a bug in
> 7.1.x.  The way we got around it was to dump the DB out to a file and
> run sed on the file with the script:
> s/:60/:59/
>
> Then feeding that output into psql.
>
> Of course, our database doesn't use ':' followed by numbers for anything
> but timestamps so your mileage may vary.

Not knowing your dataset, it's safer to run it through a Perl script
using:

if ($line =~ /^(.*?)(\d\d:\d\d:)60(\.\d\d-\d\d.*)$/) {
  $newLine = $1 . $2 . "59" . $3;
} else {
  $newLine = $line;
}

This pretty much makes sure that any ":60" you get is within a string like
**:**:60:**-** where each * is a 0-9.

That, or use awk as well as sed to make sure you get the proper :60
replaced.

In any case, I wouldn't trust my large dataset to contain only improper
:60's. I've been bitten too many times by a too-generic s/XYZ/ABC/ in
the past.

--
Tim Ellis
Senior Database Architect
Gamet, Inc.

pgsql-admin by date:

Previous
From: "Michael G. Martin"
Date:
Subject: Re: Postgres performance slowly gets worse over a month
Next
From: Bruce Momjian
Date:
Subject: Re: Problem with database I need to repair...