Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nRdZY-0006WD-NS for pgsql-sql@arkaria.postgresql.org; Tue, 08 Mar 2022 17:24:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nRdZX-0004qd-De for pgsql-sql@arkaria.postgresql.org; Tue, 08 Mar 2022 17:24:31 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nRdZW-0004qU-Vl for pgsql-sql@lists.postgresql.org; Tue, 08 Mar 2022 17:24:31 +0000 Received: from mx0d-001a4c01.pphosted.com ([67.231.151.23] helo=mx0c-001a4c01.pphosted.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nRdZT-0001xR-Iv for pgsql-sql@lists.postgresql.org; Tue, 08 Mar 2022 17:24:29 +0000 Received: from pps.filterd (m0075702.ppops.net [127.0.0.1]) by mx0d-001a4c01.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 228CrfSb022681; Tue, 8 Mar 2022 12:24:24 -0500 Authentication-Results: ppops.net; spf=pass smtp.mailfrom=sebastien.flaesch@4js.com; dkim=pass header.s=selector2-ourvolaris-onmicrosoft-com header.d=ourvolaris.onmicrosoft.com Received: from mail.ourvolaris.com ([206.25.40.41]) by mx0d-001a4c01.pphosted.com (PPS) with ESMTPS id 3em5b0agn4-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 08 Mar 2022 12:24:24 -0500 Received: from VOL-SLO-EXCH3.vgnet.volgrp.com (172.23.0.53) by VOL-SLO-EXCH3.vgnet.volgrp.com (172.23.0.53) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Tue, 8 Mar 2022 17:24:19 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (104.47.18.113) by VOL-SLO-EXCH3.vgnet.volgrp.com (172.23.0.53) with Microsoft SMTP Server (TLS) id 15.0.1497.28 via Frontend Transport; Tue, 8 Mar 2022 17:24:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CFV2N3KssDONuPFnWOa4wHRTP3l+OwymsLUgg+ePwHxD5gM4orpgyu/GxtUwnU0mkeJxGZRY/woox/cCX2XH96wrgjGBn1ouyLfTcohdXU3qEitHwDNz8CzuwgJvjG/DUMmHQSKd0xk1K3wNOfMpPLSGbU75smxfLvkOjgFZMyeqgwG8VSCeACfLQREmXvvqccewiAVl7azFDR7hajafk6zfudld+0N7yIC5nmNg5qnz/FB3LrUUCQv23BBcZobNyWpaPE/AanXaIO8ToNk0zsr6HLUcYynXO/KUKgl6eckqzRgAxbwOtGiRgui5a0kbJRhr6vTFd0KztqrE34hk5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Sy58LjrUNZKlWgBZR5F8oUj9a7F8AX5QETwHFzllvWc=; b=TSn2bAsG/mG0uZXYQSxI3J6Effh8FqhTA2/m+dj7PviF6p7susFbijruMrXBL/ljLLZ2hQ5+c5sVCjW/EnWOGmW8G5aLX6bztF5i09sfE3hkrU+hTYe/85ipPLSACVEO673ZdTNQdeGR9xiHrpbJKi41tUIiYv9gm+ZJqt+dLbkYR8UulwhHvS+Kc4KPRSLji35IVK2IWEbavwjer+5QGw5TG9flTGb47ZPDmkeE2BCzEQTveL3pqXtbu4mggJ39qGmvsvC1+RDh6bKuB++r26MifjVNclnWE66FPPVRlkrYYCCJl737mNCzLlI66SZWd8WJSudjwv4NhZFVpZC5fA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=4js.com; dmarc=pass action=none header.from=4js.com; dkim=pass header.d=4js.com; arc=none Received: from DBAP191MB1289.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:1c9::19) by AM7P191MB0789.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:13d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Tue, 8 Mar 2022 17:24:19 +0000 Received: from DBAP191MB1289.EURP191.PROD.OUTLOOK.COM ([fe80::a533:756:799f:8c50]) by DBAP191MB1289.EURP191.PROD.OUTLOOK.COM ([fe80::a533:756:799f:8c50%4]) with mapi id 15.20.5038.027; Tue, 8 Mar 2022 17:24:18 +0000 From: Sebastien Flaesch To: "David G. Johnston" CC: "pgsql-sql@lists.postgresql.org" Subject: Re: Best practice for naming temp table trigger functions Thread-Topic: Best practice for naming temp table trigger functions Thread-Index: AQHYMk3wKpd6RixG7ki7DRsQNFeEB6y1nug6gAAMJYCAAAt0IQ== Date: Tue, 8 Mar 2022 17:24:18 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: suggested_attachment_session_id: f6ce1040-8dbd-c3c3-ca16-2518a285dc13 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b2d3f97c-30b2-487f-a51a-08da01287a60 x-ms-traffictypediagnostic: AM7P191MB0789:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fMET5/QQB289AoYxj+ROPhUvYo+2OO72dkv/NmtLJloLnQLVS6dNPUZXP/iilKkaFedt2WHx2Dc83AXZNdOBv7oqe6+hxHsGumk+uHAPw2XGK5K/6OWXqc0J0IHewt+gVoBj4CKDXP3ocr2cJa6xc0urwyu8yNUWOz5QVGS4ysVpeL4oosCkQYKkmEEw/1f4UxgazcwrlLxFtfe8HZv/3jRyPg0U+7FnPSuwHtoUVWWtVHNjTBnuH3RmhKxmpBDScI6Xpd/tXotDBHtwIR4egpPmiQ8YYHFs9/tZ195LLahY55dpzvuVriV3BmV+SETJCr9RNsNqFtT3yHaaPCerhWvVlKL6nBDUviN1+k3WwZraAp3t41QARzOuAL7qIoHRSFWADkIKg66aL9JPhlP3J3MEcGfsNnOzi7lt41qjBSMuZ7g/uUVPvUkAQFTb3ZgYRwbZeDlyZNAVmjhHQ78whhbbKDtyyzpt35nqmErrW8C1+gaMmNBXfhFGwNa1uJvWR4XBlXKWgJ/c2MlzJVBaNJqmkRhKJqqT0ZFKloWM8PF0k2XWGxnFNfaVXmBMEppg8pmZR5QBuFnVmaE8jzJ9O5IdAKA7aPMGjwK7RAvT2uEz3sBEu4VhwFS8btcizqVSfn5KKsBkhg8tQWbXGnvQdDWiGv3BvdjtUdXEgDSFW7/eHq6S+Y7F6r8P1VzvY3jCnl2gwrJKMa6pzrpR9f5XKA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAP191MB1289.EURP191.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(7696005)(64756008)(66476007)(316002)(8676002)(66446008)(66946007)(66556008)(76116006)(4326008)(91956017)(6506007)(4744005)(44832011)(2906002)(5660300002)(26005)(186003)(33656002)(9686003)(8936002)(52536014)(38100700002)(86362001)(508600001)(38070700005)(19627405001)(71200400001)(55016003)(6916009)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?xxX5kKhh2YYPwkGjtjiBYE60EO/3BrlihHDEwaM6K3QIaPLEzp9BY2DKDo?= =?iso-8859-1?Q?DbppmnFfuiGAN3FdS3f/0VHKfB18M0GWFKfCk2jURM8G8W1CbOzJlSa4b+?= =?iso-8859-1?Q?WHEABQpv0Pf5eIZ0ccLmuNt2MDOtHFWisUK/iaS7Lq5IkJqlLz26O7ge+B?= =?iso-8859-1?Q?yfA8uJgeXdNIfhvbwGeJ/Qoz3zboPPZlZ5I2QI5CN3gMUAlE13MDeU2+wN?= =?iso-8859-1?Q?ZR+HaqQ8w5F1nAPaO6HfgqRccvk/CgT2l1bK0gNpCQMTo8ph6seeRKTGtj?= =?iso-8859-1?Q?TwHunmV8tC2KGmjp8HFsHZ/5RSZa9qsZVfouMb/nl3fOxHHGWk9JskFeX4?= =?iso-8859-1?Q?edGrAlDCZYLU3a96qJUb+LuGlNbV3aARcx6p+aJmo1AiRI9XtFGBF6j4lK?= =?iso-8859-1?Q?dM1l34u3tPQ3HEQ9ZpzzJmOJGOgNY+VTY29INOZhuU3yw0ELe5vFDmb7vL?= =?iso-8859-1?Q?irPkkn32mIXwfnq1j/5YXv7OBI8OWRT/0Su7vlvVtv6Th6yG70UjIx2ydD?= =?iso-8859-1?Q?rxDRVLZY7fuBHRfVPF9aP5oFSwyVd3mjh2HhdM393l1LvHhMNWsGwAaR+V?= =?iso-8859-1?Q?iqCjXyBVSUYRw4VJ2dsWDdxLHUcRM1iW5dwnG5by2U8ATVVsS2R1oPLoq5?= =?iso-8859-1?Q?oHuZ5Nrt9BAMQXeMF36Lkt8sR07D5XK93g/qvldXHR/crSDDgwEVfu7xAk?= =?iso-8859-1?Q?z3qVSCjd+2XJa62eENjVsMuC9ykee5IhgK+RDg4d0HU5IZ53gEYf9OEdHx?= =?iso-8859-1?Q?GuDl6oW1R1ar6n4iuftsAnFk2WgQUCNhGZVaicpOd2VKPA4UgNhz+7IwZr?= =?iso-8859-1?Q?Mk0b4s4Egn7kInjFHOpVhH6H3UbMLgSOUo42hau/D17M1RyRnnpXBEDfdg?= =?iso-8859-1?Q?Y7iioIWyt8Av4k2c8R9+FLS/HOezg+GUzLYxQ6JVlWtxX2DIKoyJ6xEgK7?= =?iso-8859-1?Q?qBgF+vN/seypevxEGc+LizErxvhdOqIJUfrHw7tvFOu/h+9wjEwkZMPS4U?= =?iso-8859-1?Q?Pvz2HfIAz0mzL6pyTxAGwpmvQyYqyXEgpLLUQXzIpNOL9SaakFzQMTzoi6?= =?iso-8859-1?Q?67xEy4ok3lPY03oBVJyR7OQ1iHPg95G4/1dUaGnnf24vft83Iww4OX0YP/?= =?iso-8859-1?Q?37cOyP7m6z9r8KvALSrQ59+wE/NPa985Kc6UVsY5NrsdIEEKwKDnMKzIgX?= =?iso-8859-1?Q?Ia3wK9+IuOaNPSKWw5vNqeGTSE6Y1jbRFRRfnEyzeaQdvTxSdr0CU49uMc?= =?iso-8859-1?Q?9INac1PEvAjyNfIloHQyUxZO3D5SLAmeD3axRT+MjscPlIElX1r6J90r6w?= =?iso-8859-1?Q?Ix8/g2bPDnj0RNE3WdQaasQgEYu+7h6AbGZSGie0KpdjkT+HJC/OPWwm3j?= =?iso-8859-1?Q?k1VVMbOOs20jc+NZbNW7mTwGXrav8MXowIxE6R5HcwleQLsDLqdzpL3z37?= =?iso-8859-1?Q?NdVbdA1NB4C0rwNlChmPvlKhtV+RcPpbOE8mXnR/fhJlINae2fUf/7TSKe?= =?iso-8859-1?Q?WgFcagfFiqWmNrFEAfmyDVu2JOsqgBDv1WSzi6tU6ty6kGfqZ4bNGagZX2?= =?iso-8859-1?Q?wnn+JspUwTRZS6pGBHdfv7Kl3twk8zlrg7+JXEDS7VCadOEEG+ENoAwd90?= =?iso-8859-1?Q?t9vOr4DLuje9cq8ggoz+EgmOJ1hn3CkqOkTI/DCs1a7J2lGpKbmnki0AlW?= =?iso-8859-1?Q?u6C5iNvuWGMufvu4uBNmt/ZxfpkhLP+F2HlFNq41SxVgzwR0CSaSkfxDIY?= =?iso-8859-1?Q?9kuQ=3D=3D?= Content-Type: multipart/alternative; boundary="_000_DBAP191MB12891233EFFBA6A4CC30E420B0099DBAP191MB1289EURP_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DBAP191MB1289.EURP191.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: b2d3f97c-30b2-487f-a51a-08da01287a60 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2022 17:24:18.9195 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 75c696ec-5bfb-4892-9a0c-9187a9061cd6 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: TLibJH8by1COT7syafY5XEpp8l2QmabVMY56gnOhx01UiiVGvTvmfjG+GmweYyJz+WfusjjI4Vh5i8Q8WbZVxfIoHaoAz3Vb9V/IBzTAyRs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7P191MB0789 X-OriginatorOrg: 4js.com X-C2ProcessedOrg: 2f0c79df-a80b-40c2-9362-4c5fa2dae201 X-Proofpoint-GUID: DKOHxXWMUL16rSoYrb0SS1yjnOIP-BfA X-Proofpoint-ORIG-GUID: DKOHxXWMUL16rSoYrb0SS1yjnOIP-BfA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-03-08_06,2022-03-04_01,2022-02-23_01 X-Proofpoint-Spam-Reason: safe List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_000_DBAP191MB12891233EFFBA6A4CC30E420B0099DBAP191MB1289EURP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Would it make sense (seems possible!) to create the trigger function in the= pg_my_temp_schema() schema ? create function pg_temp_4.TT1_SRL() returns trigger ... Same question for sequences... (used in my triggers) Background: All this stuff is to mimic Informix-style SERIALs. If PostgreSQL native serial would have options to behave like Informix seri= al, we would not need triggers on our tables. With Informix serial/bigserial: * INSERT with zero value specified for serial column generates a new se= rial value from underlying sequence. * INSERT with non-zero value specified for serial column sets that valu= e and automatically increments the underlying sequence. Seb --_000_DBAP191MB12891233EFFBA6A4CC30E420B0099DBAP191MB1289EURP_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Would it make sense (seems possible!) to create the trigger function in the= pg_my_temp_schema() schema ?

create function pg_temp_4.TT1_SRL() returns trigger ...

Same question for sequences... (used in my triggers)

Background: All this stuff is to mimic Informix-style SERIALs.

If PostgreSQL native serial would have options to behave like Informix seri= al, we would not need triggers on our tables.

With Informix serial/bigserial:
  • INSERT with zero value specified for serial column generates a ne= w serial value from underlying sequence.
  • INSERT with n= on-zero value specified for serial column sets that value and automatically= increments the underlying sequence.
Seb

--_000_DBAP191MB12891233EFFBA6A4CC30E420B0099DBAP191MB1289EURP_--