> 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.