mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-10 06:52:55 +00:00
28 lines
794 B
PL/PgSQL
28 lines
794 B
PL/PgSQL
|
|
-- code to monitor the last schema update
|
|
CREATE SCHEMA IF NOT EXISTS pgrst;
|
|
|
|
ALTER ROLE authenticator SET pgrst.last_schema_updated = '';
|
|
-- Create an event trigger function
|
|
CREATE OR REPLACE FUNCTION pgrst.pgrst_watch() RETURNS event_trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
current_timestamp_text TEXT;
|
|
BEGIN
|
|
current_timestamp_text := now()::text;
|
|
EXECUTE 'ALTER ROLE authenticator SET pgrst.last_schema_updated = ' || quote_literal(current_timestamp_text);
|
|
END;
|
|
$$;
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION pgrst.last_schema_updated() RETURNS text
|
|
LANGUAGE sql
|
|
AS $$
|
|
SELECT current_setting('pgrst.last_schema_updated', true);
|
|
$$;
|
|
|
|
-- This event trigger will fire after every ddl_command_end event
|
|
CREATE EVENT TRIGGER pgrst_watch
|
|
ON ddl_command_end
|
|
EXECUTE PROCEDURE pgrst.pgrst_watch(); |