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 1nKH89-0001ER-I1 for pgsql-sql@arkaria.postgresql.org; Wed, 16 Feb 2022 10:01:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nKH88-0006pa-E6 for pgsql-sql@arkaria.postgresql.org; Wed, 16 Feb 2022 10:01:48 +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 1nKH88-0006pR-4k for pgsql-sql@lists.postgresql.org; Wed, 16 Feb 2022 10:01:48 +0000 Received: from mout.gmx.net ([212.227.17.21]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nKH81-0005eM-B7 for pgsql-sql@lists.postgresql.org; Wed, 16 Feb 2022 10:01:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1645005698; bh=D8xj5ocbJNueXCauBrFa4PzTQnlH+XiDhFz1NecjHtU=; h=X-UI-Sender-Class:Date:From:To:Subject:References:In-Reply-To; b=eccYIMTNlo5WT+1jlllNhMEhdejpWF1zzCJnQ8Bt8YrX5IopJoGkrcPaa7DUcWoKs 3aNyvx1si01T5Wo7XqszBiGlplwym0wTcugIZrjw5QVdqy/ATFBLOvpiw8a4nVN/Pb hOmNJYwPl+ldiG2cyDVLoWftBDAOUkVhDTDOyMzk= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from hermes ([84.190.233.253]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N5mKJ-1oMjIP2SN9-017ADU for ; Wed, 16 Feb 2022 11:01:38 +0100 Received: from ncq by hermes with local (Exim 4.94.2) (envelope-from ) id 1nKH7x-0004II-Hg for pgsql-sql@lists.postgresql.org; Wed, 16 Feb 2022 11:01:37 +0100 Date: Wed, 16 Feb 2022 11:01:37 +0100 From: Karsten Hilbert To: pgsql-sql@lists.postgresql.org Subject: Re: Try catch error, return data Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Ma_X_il-Followup-to: d Re_X_turn-receipt-to: Karsten.Hilbert@gmx.net Di_X_sposition-Notification-To: Karsten.Hilbert@gmx.net X-Confi_X_rm-Reading-To: Karsten.Hilbert@gmx.net X-Pri_X_ority: 2 (High) Sender: X-Provags-ID: V03:K1:3X63kCqWbbaklVfuYhDqSMewZ2hkSbcoCMJ5Dzk118dfDNj4rkZ VUg6GMIlPx7HHGKKycW1OVc8yKTem25F9VjHgK8pwbjSu+iM0Z3YtfV/KsVYZ9gy4Ee/xnP bGI1COIW2yNDsGdv+Jy/CbRRYFnBUQcmZzu7obRyLnUndUCNV8hb8Fgjfz6+aJN/n1JhkRX /9YWceKe0vtvwkwtkQ7lg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:kudjX7PatiM=:/vnOdZnrVvIjbQov4EbAsx XIbtLi7iwVBXLT+0GkwVmEVzASPIpcvFUD9qHmMreX9zaBfeTeXrhKzLbC1GDzmchzC/djhYJ Anmb5zRhCFt5riUU+GouYuJrNfn5zzAYJLwWWDoNfAXxmVaXCWsXuGH3HJ+x369VFKjL8tTLc MtTGVzCTiqNblOg7219LW56KhCeXMZerVlSG0VGd2P/txAkRdKKUvkRLeTSOVhkdPDvTyZLoE cp6PjubeTK8MW9p5P+uZQg2FoFO1uuF9scNGIPVlTkSgHOzpfnbyA9l1vTG8cpbPqfp+YIBWd grTwgqF8fE/Cccx3mQC/PYSO5ctLUIcs5nu1vjVqZpO6Ac3jfCCXUrzEDhAqvME+6pJiAroLo tcigKa5/bbmc5TzF74wCed+3RZ+OTbzU0aHy9CdZFWIsRPTtaskDjamucdeN34kijR7H/hHfJ 5HRXdxAWaawscNbzwUcn+fyKDOvjnDnRNzt3ZGw6npw3kiRifBm06+CD+JR4QBUHymDDkmdGd qzI6+WpREEm0eX9g6NWuPcntLETR0LLCS2Gna/jpWAs+IFw4tF+srUVJaRZ1jHIDN7N5xRcRi wKrdc9MGokK640Qr8nbxL6jZpBtYeMgQ6OiOvh6QaqDVwqaOtdA/1xnR+6AduURQrxc6L9MPC pbrpSzAFLnpoik1axhkm/R2hm/gV8ZBouJ3rISsimX0e9nPqQTPJ5a9J4F9UdzG/WgtAuAqaT 29c/sH6R1hcRr5ADVVPwybeUCmB+VBLC2gChnet5YRlnnCXjS9WX7t1s426fsBQyVyPi8AV01 s7+7o5UROpIB+ZaEqhOVAEGQWc/+M+DbUAVFlT496vRBqs98ZR1lXEVi7EnJquJSsQBziF7+b E+C+Ebgoy4pe2ByYod83bdsvN185OPEPNf/TIC54gN9L1E1oJaT9e3M6jZ0vXxl7rqVFPy1t2 SAGyj1U1YJSA2TRamxInGSPYdXHiYXLSCPb7k3nxkCJXlFNB3GTcVCCiupqA23DDslhBHjtIm fvCepu5GSDcAIPSiWBZEgRrAoWJXkQGOOlSwe94pN3ZMnbxJxgyXAoGphR9XoyKKjXcd5t5FP EuFOEUSxyl+eoQ= Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Am Wed, Feb 16, 2022 at 02:13:05AM +0000 schrieb Shaozhong SHI: > In Python, one can use try statement to catch error, error can be stored= as > data. > > Can plpgsql catch and return error as data or a data table? Yes, as The Fine Manual to be Read says: https://www.postgresql.org/docs/devel/plpgsql-control-structures.html#PLP= GSQL-ERROR-TRAPPING https://www.postgresql.org/docs/devel/plpgsql-errors-and-messages.html#PL= PGSQL-STATEMENTS-RAISE Karsten =2D- GPG 40BE 5B0E C98E 1713 AFA6 5BC0 3BEA AC80 7D4F C89B