Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tgTcg-00B1Qa-0q for pgsql-general@arkaria.postgresql.org; Fri, 07 Feb 2025 19:02:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tgTcd-004a2K-97 for pgsql-general@arkaria.postgresql.org; Fri, 07 Feb 2025 19:02:39 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tgTcc-004a2C-Si for pgsql-general@lists.postgresql.org; Fri, 07 Feb 2025 19:02:38 +0000 Received: from mail-yw1-x1133.google.com ([2607:f8b0:4864:20::1133]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tgTca-003ojV-1f for pgsql-general@lists.postgresql.org; Fri, 07 Feb 2025 19:02:37 +0000 Received: by mail-yw1-x1133.google.com with SMTP id 00721157ae682-6f6715734d9so22239237b3.3 for ; Fri, 07 Feb 2025 11:02:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738954956; x=1739559756; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=2BY1TfupjuaemmBWaaYtHROJpO9HIMnfqEvhQOIEZ18=; b=WrjmrZusXKrzXJNshonrOm3PAMoBC0riw5Hx8jT3X3wcv8BbhUaXV65mmrOims+poE 57Aw9VNJDCfdOXe5qqAqQgxtV4hl+hG/3ScDiYHuNI2c8w1NHNBESAkYxcQ7hbtndZLb AXQEFSahCvTlMMmL8jKJe/KfFpkoylqq/MJ6sqGGJ3H4EHs6otegiX/2HyiygBWCedHb LQm6JFVRoKY8lSUnNzzBm7L1RulMbuIEAyQPllYPFI+gQiJumfjh7eUjbWdnvBj1jfXT OpNGAOuFRAOj/S3jRZjzp1oOYo4b9EDSmgtY/Uo3S+G8sgGS4+GoNUx6kXoga6zd0gYi BD4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738954956; x=1739559756; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2BY1TfupjuaemmBWaaYtHROJpO9HIMnfqEvhQOIEZ18=; b=kHCOSenOxvlNegkdvxt6vQjqxU0vQje2NSvnFWus3oF8FMdgQNcT8Sm+uaVpC9pCVo ShmdiJE3ruEzZ6NZDkPQmkAeEnSP42W4jjfAPdRM/YG/BHWMRn4wjHyppL8XYbBRFUdD Tq4s3bGhYJNDDi/FYwdBcTveBy7RcQRtdFJC7csW0cRpj+ZIa3xG/e1Y7dyb8CcUdsav +603oQHeM+qEo+Jc7C36w2j46I4R3xe4FWFfhnpUg0YraxFngBZFefib8BAZxSLFuk3d uHiGvUmjdYWQ7hLjSXwVEyqmCPcl4mNzu75k5DQjQaOHUM3vYbaKUH+Fxsm0ZUon5uN3 EHsw== X-Gm-Message-State: AOJu0Yx7d8dsPkqOmMTy2dMMtXrREcHVE0QtlAYO4MYajrZiJzhnvcCT 2GavQjCjKqayshgO0RBYYqIv/4iAkKKSTpO4xBGNj7cYiwPJqWskVyjw7obMHlk1KPBfzVmuyob sHwzNcEUqdPo2SGc+UdoI+OvochiZovAd3po= X-Gm-Gg: ASbGnct8fcd3u8eCqxytrhJYiQr6pZc4gj30mPNxa52p+A9LmAo7mNURUs54V/7Pt8e xgAWIKjrNqUcOY2F5Voxnuh8LKhaw6F2y+jDOT3C84GGOVzfKibXRX+dGtCgAEc8vweW8gov4f2 yF5WSI4d+4JRR4OS5EW0pOiQLpkIEyyw== X-Google-Smtp-Source: AGHT+IGF6gwBf0W0//Etdkfkd0IXJxS8e+eID0kRvCb8MKuGF+sA1Nt4u6Ndd4Td0kUfKxnZro/tAer6+ajMSZ75bTs= X-Received: by 2002:a05:690c:74c1:b0:6e2:1bba:ed4c with SMTP id 00721157ae682-6f9b28c7162mr40167037b3.17.1738954955692; Fri, 07 Feb 2025 11:02:35 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Igor Korot Date: Fri, 7 Feb 2025 13:02:19 -0600 X-Gm-Features: AWEUYZm8FM8cRK4trp203iSIxLyX3HCxB49WYjGj44-Y2lgqDrX0r3eyov9nqBI Message-ID: Subject: Re: How to get a notification To: Adrian Klaver Cc: "pgsql-generallists.postgresql.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, Adrian, On Fri, Feb 7, 2025 at 11:07=E2=80=AFAM Adrian Klaver wrote: > > On 2/5/25 23:21, Igor Korot wrote: > > Hi, ALL, > > In my code I'm running following: > > > > queries.push_back( L"CREATE FUNCTION > > __watch_schema_changes() RETURNS event_trigger LANGUAGE plpgsql AS $$ > > BEGIN NOTIFY tg_tag; END; $$;" ); > > queries.push_back( L"CREATE EVENT TRIGGER > > schema_change_notify ON ddl_command_end WHEN TAG IN(\'CREATE TABLE\', > > \'ALTER TABLE\', \'DROP TABLE\', \'CREATE INDEX\', \'DROP INDEX\') > > EXECUTE PROCEDURE __watch_schema_changes();" ); > > > > My questions are: > > 1 Is there a better way to get notification about CREATE/ALTER/DROP TAB= LE? > > An alternate solution: > > https://www.pgaudit.org/ > > Whether it is better or not is something you will need to decide. > > > 2. How do I receive notification abut the event with the object name? > > Use information from here?: > > https://www.postgresql.org/docs/current/functions-event-triggers.html#PG-= EVENT-TRIGGER-DDL-COMMAND-END-FUNCTIONS Thx for the link So basically all I need to do is to call SELECT pg_event_trigger_ddl_commands () right? In both ODBC amd libpq interfaces? Thank you. > > > > > Thank you. > > > > > > -- > Adrian Klaver > adrian.klaver@aklaver.com >