Re: Restore killing the backend - solved
От | Stephen Bacon |
---|---|
Тема | Re: Restore killing the backend - solved |
Дата | |
Msg-id | 1028235836.5755.59.camel@babylon.13x.com обсуждение исходный текст |
Ответ на | Re: Restore killing the backend (Andrew Sullivan <andrew@libertyrms.info>) |
Список | pgsql-general |
Well! Indeed the problem *was* with the data (I know; assuming makes and ass...) I had assumed the data I was importing was that which had been pg_dumped from the 7.1.3 db and so was "correct". It turns out that after the pg_dump it had been processed though a perl script to: 1) convert the string ":60.00" to ":59.99" - pg_dump had a bug with roundoff of seconds and psql would choke trying to set a time with a seconds value of 60 2) convert the old style col. default of 'timestamp(now())' to CURRENT_TIMESTAMP However - some of our tables contain data with embedded ^M's (ASCII 13) (because they're being populated from a web page.) Well, the perl script would interpret the ^M as a newline and end up converting the two lines: 114<TAB>3<TAB>re: Updates<TAB>Can you read over^M\ the help files?<TAB>6523 to three lines: 114<TAB>3<TAB>re: Updates<TAB>Can you read over \ the help files?<TAB>6523 so the first line would have truncated data, and the second line would continue the mess. This would obviously cause problems during import. What I can't figure out is why it would kill the back-end (and usually end up making the OS (Linux 7.3) unstable). I've been trying to make a small example that repeatably shows this but of course it won't crash! It just (properly) give's a "Fail to add null" error. I'm going to try and make a more complex setup to get this thing to "reliably" cause the crash because it seems there's a bug in here somewhere. I'll post that when I get it. So anyways... for those of you out there migrating up where you process the dump before psql db < dumpfile - watch out for embedded ^Ms! thanks, -Steve
В списке pgsql-general по дате отправления: