Re: How to watch for schema changes
От
Adrian Klaver
Тема
Re: How to watch for schema changes
Дата
Msg-id
d0196918-81df-5771-73a4-91b0c5c094e8@aklaver.com
Ответ на
Re: How to watch for schema changes (Igor Korot)
Список
Дерево обсуждения
How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes "David G. Johnston" <david.g.johnston@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
RE: How to watch for schema changes Igor Neyman <ineyman@perceptron.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
RE: How to watch for schema changes Igor Neyman <ineyman@perceptron.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Alvaro Herrera <alvherre@2ndquadrant.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes "David G. Johnston" <david.g.johnston@gmail.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes "David G. Johnston" <david.g.johnston@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Rob Sargent <robjsargent@gmail.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Guillaume Lelarge <guillaume@lelarge.info>
Re: How to watch for schema changes "David G. Johnston" <david.g.johnston@gmail.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes "David G. Johnston" <david.g.johnston@gmail.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes "David G. Johnston" <david.g.johnston@gmail.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes "David G. Johnston" <david.g.johnston@gmail.com>
Re: How to watch for schema changes Melvin Davidson <melvin6925@gmail.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Adrian Klaver <adrian.klaver@aklaver.com>
Re: How to watch for schema changes Melvin Davidson <melvin6925@gmail.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Christophe Pettus <xof@thebuild.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
Re: How to watch for schema changes Melvin Davidson <melvin6925@gmail.com>
Re: How to watch for schema changes Igor Korot <ikorot01@gmail.com>
On 07/11/2018 08:46 PM, Igor Korot wrote:
> Hi, guys,
>
>
> On Mon, Jul 9, 2018 at 5:38 PM, Adrian Klaver wrote:
>> On 07/09/2018 01:49 PM, Igor Korot wrote:
>>>
>>> Hi, Adrian
>>>
>>> On Tue, Jul 3, 2018 at 1:24 PM, Adrian Klaver
>>> wrote:
>>>>
>>>> On 07/03/2018 11:15 AM, Igor Korot wrote:
>>>>>
>>>>>
>>>>> Adrian,
>>>>>
>>>>> On Tue, Jul 3, 2018 at 12:32 PM, Adrian Klaver
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>> On 07/03/2018 10:21 AM, Igor Korot wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Hi, ALL,
>>>>>>> Is there any trigger or some other means I can do on the server
>>>>>>> which will watch for CREATE/ALTER/DROP TABLE command and after
>>>>>>> successful
>>>>>>> execution of those will issue a NOTIFY statement?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> https://www.postgresql.org/docs/10/static/event-triggers.html
>>>>>
>>>>>
>>>>>
>>>>> According to the documentation the lowest version it supports is 9.3.
>>>>> Anything prior to that?
>>>>>
>>>>> I'm working with OX 10.8 and it has 9.1 installed.
>>>>
>>>>
>>>> 9.1 went EOL almost two years ago. The oldest supported version is 9.3,
>>>> though it will go EOL this September:
>>>>
>>>> https://www.postgresql.org/support/versioning/
>>>>
>>>> Are you forced to work with 9.1 or can you use something from here:
>>>>
>>>> https://www.postgresql.org/download/macosx/
>>>>
>>>> to get a newer version? FYI that will be a major upgrade so will require
>>>> a
>>>> dump/restore or use of pg_upgrade.
>>>
>>>
>>> Just a thought...
>>> Is it possible to create a trigger for a system table? Or this
>>> operation is restricted
>>
>>
>> Easy enough to test. As postgres super user:
>>
>> test_(postgres)# create trigger info_test before insert on pg_class execute
>> procedure ts_update();
>>
>> ERROR: permission denied: "pg_class" is a system catalog
>
> But
>
> draft=# CREATE TRIGGER info_test AFTER INSERT ON
> information_schema.tables EXECUTE PROCEDURE test();
> ERROR: function test() does not exist
>
> So it looks like this should be possible?
No, see:
https://www.postgresql.org/docs/10/static/sql-createtrigger.html
AFTER trigger on views are STATEMENT level only.
https://www.postgresql.org/docs/10/static/plpgsql-trigger.html
"NEW
Data type RECORD; variable holding the new database row for
INSERT/UPDATE operations in row-level triggers. This variable is
unassigned in statement-level triggers and for DELETE operations.
OLD
Data type RECORD; variable holding the old database row for
UPDATE/DELETE operations in row-level triggers. This variable is
unassigned in statement-level triggers and for INSERT operations.
"
So you won't know what was INSERTed in row.
>
> Thank you.
>
>>
>>
>>> for when the server is actually being set-up?
>>>
>>> Successful "CREATE TABLE..." statement creates a row inside the
>>> information_schema.tables
>>> so if I can create a trigger after this record is inserted or deleted
>>> that should be fine.
>>>
>>> Thank you.
>>>
>>>>
>>>>>
>>>>> And a second question - how do I work with it?
>>>>> I presume that function will have to be compiled in its own module
>>>>> (either dll, so or dylib).
>>>>> But then from the libpq interface how do I call it?
>>>>
>>>>
>>>>
>>>> It can use functions written in PL languages. See below:
>>>>
>>>> https://www.postgresql.org/docs/10/static/sql-createeventtrigger.html
>>>>
>>>> for an example written in plpgsql.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>> Thank you.
>>>>>
>>>>>>
>>>>>>>
>>>>>>> Thank you.
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Adrian Klaver
>>>>>> adrian.klaver@aklaver.com
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Adrian Klaver
>>>> adrian.klaver@aklaver.com
>>
>>
>>
>> --
>> Adrian Klaver
>> adrian.klaver@aklaver.com
>
--
Adrian Klaver
adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления
От: Abelardo León González
Дата: