Re: First feature patch for plperl - draft [PATCH]
От | Tom Lane |
---|---|
Тема | Re: First feature patch for plperl - draft [PATCH] |
Дата | |
Msg-id | 8950.1259994082@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: First feature patch for plperl - draft [PATCH] ("David E. Wheeler" <david@kineticode.com>) |
Ответы |
Re: First feature patch for plperl - draft [PATCH]
Re: First feature patch for plperl - draft [PATCH] |
Список | pgsql-hackers |
"David E. Wheeler" <david@kineticode.com> writes: > Tom, what's your objection to Shlib load time being user-visible? It's not really designed to be user-visible. Let me give you just two examples: * We call a plperl function for the first time in a session, causing plperl.so to be loaded. Later the transaction fails and is rolled back. If loading plperl.so caused some user-visible things to happen, should those be rolled back? If so, how do we get perl to play along? If not, how do we get postgres to play along? * We call a plperl function for the first time in a session, causing plperl.so to be loaded. This happens in the context of a superuser calling a non-superuser security definer function, or perhaps vice versa. Whose permissions apply to whatever the on_load code tries to do? (Hint: every answer is wrong.) That doesn't even begin to cover the problems with allowing any of this to happen inside the postmaster. Recall that the postmaster does not have any database access. Furthermore, it is a very long established reliability principle around here that the postmaster process should do as little as possible, because every thing that it does creates another opportunity to have a nonrecoverable failure. The postmaster can recover if a child crashes, but the other way round, not so much. regards, tom lane
В списке pgsql-hackers по дате отправления: