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.96) (envelope-from ) id 1vWuGY-00CRNT-2Z for pgsql-hackers@arkaria.postgresql.org; Sat, 20 Dec 2025 10:32:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vWuGW-00A6tw-06 for pgsql-hackers@arkaria.postgresql.org; Sat, 20 Dec 2025 10:32:48 +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.96) (envelope-from ) id 1vWuGV-00A6th-2A for pgsql-hackers@lists.postgresql.org; Sat, 20 Dec 2025 10:32:48 +0000 Received: from mail-qv1-xf35.google.com ([2607:f8b0:4864:20::f35]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vWuGU-001eNl-1k for pgsql-hackers@lists.postgresql.org; Sat, 20 Dec 2025 10:32:47 +0000 Received: by mail-qv1-xf35.google.com with SMTP id 6a1803df08f44-88267973e5cso16511966d6.3 for ; Sat, 20 Dec 2025 02:32:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766226765; x=1766831565; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=aSAjsEGabKxVkAVJkn6DvlhlsuTbcoeOqVzWepUSDf4=; b=UUnbMO7Y7Mk3uOA9GbcvzNwUGfDZ3TRXgNk9ZclcpPH1GD8JXhaFBneF8uvFu/rmKz UFkXUmvACS3HMrCgYP7x43FZF7f0vz3aHt0xt8hvmhufFEeipAr7tZWsA1qLtLHfu/aM jriQEATlIrd+5HTuhD6tAN/aguM9VZ0eubC8OUW4l2CmSyKZiHIuso2aM2TIsywoKs4v WPf+zQh89yBvSVjqCAMZZhhvGwyKvp/4LEPUBOqhp6tWryouXU91jDoQMm+kLLo7bw3m bQqc/dOeyFeG1FgQU2sofioZ4vUx4bI17qX4JdooV/6aLhCwldFHgqos6JAkuTLLXh60 DvnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766226765; x=1766831565; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aSAjsEGabKxVkAVJkn6DvlhlsuTbcoeOqVzWepUSDf4=; b=FbhQ2mMwWYhtLElFgt55FlpY50d/x73eRcvtveqlUmpfJoY+6LSvUu2PUWMDCpxe2m mb+KGQjNeTmCEQNMPLK6ByHU0+OzvGg+7/1hlc+oxLcpQuFZcVexjwb8S8QlXZtaaB8K Nc2QdBguyJ20dn2h4cpqsqkjw4IIDI7qaUz3JRnla7TdCzyrlqytBlnb0yzRZSVLYAjk l64ojrTn6c/6glEcZmprQsbLGf1qlJYkOodXsWImdJ72w1iwHnl7AtlNzia4nAefK02R qMSpi7reUN+da6Fz8399jmMcrdUg57AMY2kSjtOA2+mnYAEZXgr//MSjQcUpSRQzbIjf 0O3A== X-Forwarded-Encrypted: i=1; AJvYcCXzhBo9GKwAfy8F/M/UH6zTBB21OLsSqAwdrxWiv+AmQAwzo/taRV8qaIUTuor3bgGdsqRDhrGOAacHlzsq@lists.postgresql.org X-Gm-Message-State: AOJu0YxhvnDkN6Zuuze6CqPCV/5TBBuuy3yaAaqvoJTU3Lzj0TTIcxVA xMkKIbvoEeJaGBNwbAwQAG0t7n3R82eXPuzOaNeS5xT0t3PGesaXVEyGjrOON+M24AcPzYrG514 1dwfUHJE/BeY4qFQnvLe2oMMC0p0ifEPqgiHd X-Gm-Gg: AY/fxX4IiOwR9eEIjfyXkc0T5BpXzpodq6DRa3hcVi1Di5prPgdtgZlV014pQJ5G8sl UGG9Qyt5/UKX0qoYUVXKYygPJGFYUDcRfNx7BGP3jgOgnHJwXSK11yDQgz0s0X/AJtjH2Dm3Joo zKxn2Fh4uRXnCmjC/nLC1nJ0BYbDrmny3qIWMfiGp6AwNjQzA3exlQAUdMoy+gsUVGcoYKUX2YP ygnEWaw/TTGWGsYWbbHTlfm22pC+tfWvevNbuG/klYj2EzzL5KoN/u0C9ytVu+PWRg4Tfvk/v7+ gR4FL/g= X-Google-Smtp-Source: AGHT+IE2xbu42DKjOAw6Lgs/HPzG1v0tWtdUMMWMBLVkuKICTBC0XZdfgiX8h0Seig8zS2+VWsPUTLp7PSlmpZaPtJk= X-Received: by 2002:a0c:bec9:0:b0:785:aa57:b5bb with SMTP id 6a1803df08f44-88d8369ec03mr64141916d6.43.1766226765319; Sat, 20 Dec 2025 02:32:45 -0800 (PST) MIME-Version: 1.0 References: <064E214D-D86F-4917-A0B6-67EAD6BCB24A@yandex-team.ru> In-Reply-To: From: Kirill Reshke Date: Sat, 20 Dec 2025 15:32:34 +0500 X-Gm-Features: AQt7F2pUbkVuXXXY2Heqc4fQtoHRd6WOSRnwhB3-OvL71rqAUxoa09-pi_6H-hg Message-ID: Subject: Re: Additional message in pg_terminate_backend To: Roman Khapov Cc: Daniel Gustafsson , pgsql-hackers@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sat, 20 Dec 2025 at 14:27, Roman Khapov wrote: > > > > On 17 Dec 2025, at 21:02, Daniel Gustafsson wrote: > > > > Greenplum already has support for passing a message in the terminate command > > doesnt it? Or at least it used to have but perhaps it was ripped out, my > > memory is getting a bit fuzzy. > > > > https://github.com/greenplum-db/gpdb-archive/commit/fa6c2d43d675aa05e2d9f797e3008f6fe075ee2c > > > > Well, seems like I missed that patch.. > > Anyway, now I need same functionality in PostgreSQL, and your patch seems interesting, > especially in part where you keep messages in separated shmem region. > > So I adopted your patch, maybe in that form it can be useful for PostgreSQL? > > +CREATE OR REPLACE FUNCTION > + pg_terminate_backend_msg(pid integer, timeout int8 DEFAULT 0, msg text DEFAULT '') > + RETURNS boolean STRICT VOLATILE LANGUAGE INTERNAL AS 'pg_terminate_backend_msg' > + PARALLEL SAFE; I don't think we need to create a function with a name other than `pg_terminate_backend`. I also do not think we need pg_terminate_backend_msg as a wrapper to another function - all of this can be a single function, accepting different number of params, exampli gratia "bt_index_check" ``` Datum bt_index_check(PG_FUNCTION_ARGS) { Oid indrelid = PG_GETARG_OID(0); ... if (PG_NARGS() >= 2) args.heapallindexed = PG_GETARG_BOOL(1); if (PG_NARGS() >= 3) args.checkunique = PG_GETARG_BOOL(2); .... PG_RETURN_VOID(); } ``` -- Best regards, Kirill Reshke