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 1mpr8P-0000gT-Fy for pgsql-performance@arkaria.postgresql.org; Wed, 24 Nov 2021 12:12:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mpr8O-0007S0-8n for pgsql-performance@arkaria.postgresql.org; Wed, 24 Nov 2021 12:12:20 +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 1mpr8N-0007Qo-VW for pgsql-performance@lists.postgresql.org; Wed, 24 Nov 2021 12:12:19 +0000 Received: from mout.gmx.net ([212.227.17.20]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mpr8L-00063b-6w for pgsql-performance@lists.postgresql.org; Wed, 24 Nov 2021 12:12:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1637755935; bh=p62GLoNDQVTZaJQlFfKbziSE6nKI+SYBMp314m0ksy0=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=F7NoeKtLOkG0ZZBA+6gSyrH6C2PaDRs7cio7E+NQy34Hl8TljSAscoLywjF7h+FQP 7LSOUlRtdWXIVBFTbpg2xsLdBVJuScxd30mE/2hSYK9lQVby1lT9bzGpNwtEir1ddF 3fih+qFv0+nP3GeNazl6s5Oru9lkNoyyYgkTPrWI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [10.1.32.158] ([185.40.248.10]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M3UV8-1mpJAS3NVy-000gHg for ; Wed, 24 Nov 2021 13:12:14 +0100 Subject: Re: Out of memory error To: Pgsql Performance References: <97240.1637733158@sss.pgh.pa.us> <4af2ff21-1140-ccbd-5adf-926dc816782f@gmx.net> From: Thomas Kellerer Message-ID: Date: Wed, 24 Nov 2021 13:12:14 +0100 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:DU3A33OHXtlLGr39J9eY30hDNHXS8YolgjSgXcYmlNiSOcJJBDI S95l2X77adeO7FQRJSJlzcmzeVx7y7no4zmGa83Rd6wh2etND1tzlQQaSwMUrZuz6BoJ4dP GdI9ZrJlN/iMSYE5GbN/FxKwvWw5Fsm0BPVNDiX4qNmCF2oPo2DihpM+J5myuoKdiOju+xN te3jR3hA3dP6icsBlSpIA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:PCu8GcjaOV8=:NrqQ6PR6KTSTXxDkHOMfrw vC0t2ZUDF1F3i93oXSp/HjXQGhHNm498a70LlPUzCVjLnAR7gQ7Yp+hHT2Xy2rGVCx0ktVJAB XHowojgNJiXn8HNecqIxpBRXhGjlCOTEMgf7h3me7YZN4ulKH4+DnmI1sBSeWMWddRYZMk2yb QRuasDWcZY4SSBrM7q45s/NVgQKxpp6Kz/B8fuQlggnGw4DuGGOqK6ZTDnEIahtRRXuF/Uh1X drmQv9gh2HwmhVQsNycExr/IIpiRNBvu+a5DeB3e4gXMhy3cpz6qv7lqHda9+lLJGVyUSYXPa TcKvQ4AOAIHoAeBCpHMS+txlNZiGVCtimkjKctNoL5iWw1/35x7Qiq/zXYukBNwlWQbW1Urln u2MEAfvf8J/kPp2jYPifr5J0fk34xGp1hx5/kGUQUmbLuBDqj+K9luzEMXcVttxvp4klI8xaY P3ghYHlclSqhB1g2iHwDwsO09bfogPrSmHRcUcpKO90IVMnr2jIERgblVN8Vq/Zoy4Q/C7lfQ HivdCMEvBfKFGXtuXeGSVTbpdnxKWYUjQTQPU1IfY7J1tZIcJSaz6ROvW2ryTgNe2YT+6Nb+X uHMrlW/C59qWgpRBZjMZfESW0GUoum5dpzG50Hlvg264++bjLPM/5tSqOZhcv6vZTe7pPS8x4 ZsU3Bq7QvN22N16E8PVfgpBQQzl95OvwgjWu07gsUiyRtXGaCvlSgaxW7ErNTQGQuq1ODrIVP 60FY7VJfQs1rXYfWBxPcTMkm2daZ2XsBxp1kC7HbaokWyshkZhzmRDQL6UC+yunhfMcckQ/ks +/1XnlGWWgipV+H5hWM2RF7IrdD4FHIPdJqhPslaeWdb2NAYUx/iFBL7GpPB2Hn4fedWbTDa+ 91gnFhLZrcNOJU0OK1+YlI5HakheJON9ZjP3fXh8N59rL8CIkNA+ID04HwNXrmTu3BGRdKper iiNBqs9v9ml0vJQZu2Ez+rBZKTyHujRgmLTtnjkmL+HAw1LOlre1deCkeI5sONJtOCV66ZapU zsI3pfFhoQ5xfgYcb1lCbFXGMm5uXDG+BdhtcVsYAubaBPMs5i/RnZA8YGB44nUUu77moyIVR BIy+hw4qPG+Yd0= List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk aditya desai schrieb am 24.11.2021 um 08:31: > H Michael, > Please see insert_info function below. Also r_log_message is composite d= ata type and it's definition is also given below. > > CREATE OR REPLACE FUNCTION insert_info( > =C2=A0 =C2=A0 info_array=C2=A0 r_log_message[] > ) RETURNS varchar AS $$ > =C2=A0 =C2=A0 DECLARE > =C2=A0 =C2=A0 =C2=A0 =C2=A0 info_element=C2=A0 r_log_message; > =C2=A0 =C2=A0 BEGIN > =C2=A0 =C2=A0 =C2=A0 =C2=A0 FOREACH info_element IN ARRAY info_array > =C2=A0 =C2=A0 =C2=A0 =C2=A0 LOOP > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 INSERT INTO testaditya( > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 columname, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 oldvalue, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 newvalue > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ) VALUES( > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 info_element.col= umn_name, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 info_element.old= value, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 info_element.new= value > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ); > =C2=A0 =C2=A0 =C2=A0 =C2=A0 END LOOP; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 RETURN 'OK'; > =C2=A0 =C2=A0 END; > $$ LANGUAGE plpgsql; You don't need a loop for that. This can be done more efficiently using un= nest() INSERT INTO testaditya(columname,oldvalue,newvalue) select u.* from unnest(info_array) as u;