Re: emergency outage requiring database restart
От | Merlin Moncure |
---|---|
Тема | Re: emergency outage requiring database restart |
Дата | |
Msg-id | CAHyXU0zFovQzu6suOFVEqWefG4BC2OU-h5WjNMdLrZnEPgAGxA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: emergency outage requiring database restart (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On Wed, Oct 26, 2016 at 1:09 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Merlin Moncure <mmoncure@gmail.com> writes: >> *) I've now strongly correlated this routine with the damage. > > Hmm. Do you have any way to replace the non-core calls with something > else? The "shexec('rm -f ' || _OutputFile)" bits could presumably be > converted to use contrib/adminpack's pg_file_unlink(), or an equivalent > one-liner in plperlu or plpythonu. I don't know what the sqshf > incantation does, though. > > This wouldn't be about fixing it so much as narrowing down where the > problem is. Will do. Before you spend a lot of time, let me get full confirmation that this is the source of the issue and I'll bake a reproduction script (there is still a possibility that something *else* caused it and by happenstance we caught it here). For posterity, sqshf does: CREATE OR REPLACE FUNCTION sqshf( ConnectionString TEXT, FileName TEXT) RETURNS TEXT AS $$#!/bin/bash cat \ $2 \ | eval "sqsh $1 -L'datetime=%Y-%m-%d %H:%M:%S.%u' -G 7.0" echo "Success" $$ LANGUAGE plsh; sqsh being the freetds wrapping linux console to sql server. So basically not much. shexec does: CREATE OR REPLACE FUNCTION shexec(_cmd TEXT) RETURNS TEXT AS $$#!/bin/bash eval $1 $$ LANGUAGE plsh; :-) merlin
В списке pgsql-hackers по дате отправления: