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 1sJguF-006GKZ-DV for pgsql-admin@arkaria.postgresql.org; Tue, 18 Jun 2024 22:02:23 +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 1sJguC-004FtB-8i for pgsql-admin@arkaria.postgresql.org; Tue, 18 Jun 2024 22:02:21 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sJguB-004Fsx-FA for pgsql-admin@lists.postgresql.org; Tue, 18 Jun 2024 22:02:20 +0000 Received: from mail-db5eur01on2083.outbound.protection.outlook.com ([40.107.15.83] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sJgu8-002LrR-Vw for pgsql-admin@lists.postgresql.org; Tue, 18 Jun 2024 22:02:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VifwrIg2w3nF47qzPWkWxGjiyJ2wn6ZNy4lcFAlwNkuOSBdVdrT3dPfTZhSOBibKSS8EYKB8UVoLH2AjF2OFO5IjTS6ohUGeDZql5W04sl/+lSfi6NwEqRPqYvNqt0e4Mu6+3GVyCHrnfdmc8nkpE5u6yhdgIFtpcTGMEDdc1OYSZb9WhqVAA1X9Dbh0L9rQDL9BbG36LrG3zfRNvB+PGvSAvVRlj8W1Q2QkL0GEx2pkawyGxALESVLq0ymjC4j23cWByR0gKnHPskr05JMHK2AwNPxKi6Jy3URfo2InpxTipasYvdG18G35jx0T1mSUCTBcyLN+AEruMpMZVsu1ig== 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=dbXvYXCJ0O/6+HLPHK9G84uEtUVVmpFmG2+s2fQc1H8=; b=WFk1203/cVgcVQduekGMngJzW1oqj7XwkEackSgpxP0ktIpWTJleHOtkaPvui+/+FWTSJX0HEZPyB42yZV7+dqD4BnI0mnA9X2dc77R0WritYAY+bvCxgKtBp2+JBhcDw9+JQi3u18bYbEqo0Kb+7PA/sfJ3cvysUv9ssZezcAoL5enIAHebq8SmqVqapXNm2qfrVYJOaEdvJ3mXeFFuh20ADalKiYZoVMQLPs+k3bbndrBzVIe7LdtjiQHu/o9+5W9GSonwynYljXJtFuAkCRiL2nanl5yp7wfC1BU5pyCOfBB9I9vzgzl8y3uOX1pizuqeeBH9z1L4qkWXdbm/rg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sonymusic.com; dmarc=pass action=none header.from=sonymusic.com; dkim=pass header.d=sonymusic.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sonymusic.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dbXvYXCJ0O/6+HLPHK9G84uEtUVVmpFmG2+s2fQc1H8=; b=K0D7qoZbW9c6Vq7IiX7HWbnMbZOGn2+akxSE16MJyeP7rqIOZqbIbm4IRrlUn6FSg/n/K8fYFqphv/Yuh/ziblJpq6x4Gx401SIi4QpoiJfuAN7ayhLi7fPHfK3V1JB9nOLgcYAGZL7AZR2VG7gBOhE4r43gDWAHzTSsYIjw7ew= Received: from AS8PR02MB10078.eurprd02.prod.outlook.com (2603:10a6:20b:635::16) by DB8PR02MB5772.eurprd02.prod.outlook.com (2603:10a6:10:11e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.19; Tue, 18 Jun 2024 22:02:14 +0000 Received: from AS8PR02MB10078.eurprd02.prod.outlook.com ([fe80::943b:36f5:a03c:2dbf]) by AS8PR02MB10078.eurprd02.prod.outlook.com ([fe80::943b:36f5:a03c:2dbf%6]) with mapi id 15.20.7677.030; Tue, 18 Jun 2024 22:02:13 +0000 From: "Vitale, Anthony, Sony Music" To: PABLO ANDRES IBARRA DUPRAT , Tom Lane , "David G. Johnston" CC: "pgsql-admin@lists.postgresql.org" Subject: RE: Scripting a ALTER PROCEDURE or FUNCTION to Change OWNER Thread-Topic: Scripting a ALTER PROCEDURE or FUNCTION to Change OWNER Thread-Index: AdrBtc8Wa3jKK7C+QuS+qp3e08m42QAAdLMAAALJdwAAADkTgAAAMUMgAAGQLdA= Date: Tue, 18 Jun 2024 22:02:13 +0000 Message-ID: References: <4191919.1718744911@sss.pgh.pa.us> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=sonymusic.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AS8PR02MB10078:EE_|DB8PR02MB5772:EE_ x-ms-office365-filtering-correlation-id: ec2f1af8-e6cd-4a71-b2db-08dc8fe24f89 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230037|376011|366013|1800799021|38070700015; x-microsoft-antispam-message-info: =?iso-8859-1?Q?6rhXP75dbChi0ePafMzWALgIw7rmu6TjlqsP4UzPq5NGrwBZKXMUtfcr/U?= =?iso-8859-1?Q?JKPI1hFQ3vNr/lVt4qXCLNZ5yhgonimi7xFl7KkJUme4PMkNQRAMU57L9u?= =?iso-8859-1?Q?1N05ogZVOGoAZzhyd7GrHAsjm5QFJUAYZbg+AFGL3d0+cuzCju/hKcyDa2?= =?iso-8859-1?Q?w7hV891p2kCys+ex+ZLTQ7NUuAhdvrWieI4BKNvU/2TjDT8EVigXZPB0jc?= =?iso-8859-1?Q?veY1gRlLrXVC2K2eaju8QVep3X6nKvKcfISsBHrB2rg/WtipaJMRmY+BwE?= =?iso-8859-1?Q?j3WXalTROPBgmqJglRSn5VQIvlJWYr4avvblcW64U7VJyR8Q26PlY5AePP?= =?iso-8859-1?Q?pb55O9FF9BjjocB0E7+JLJ5f2hJVKoLNHEFialtL95zhfQschyxnQwEIfQ?= =?iso-8859-1?Q?wQYic5qkjEPhz2P635Mm3Hepba+Lctv5dRA2SRWdPa+xX7mYd5+RYSfrjq?= =?iso-8859-1?Q?gwnCKmH2/zMiI30WdOwz4cdCR8GXiDOpYk5OJRNks41xmayxxJSrkhNkrs?= =?iso-8859-1?Q?wtx7B7iryCWOmYyNthuX0+Le6c+5rc/sQ/FzYg3jFWnL+rW8GUAwNRFWw/?= =?iso-8859-1?Q?x6Mv9t6XUqEKTAFVwW8D5H0k5kj4dUhJYeXD2J8nesAV56XeAzj3Zo3yfU?= =?iso-8859-1?Q?IKfxdrrEPAQa4t3eQx6zhBdNwD0R/olIumS+pWgnmzWQ/qHroL0lTBPYKu?= =?iso-8859-1?Q?myQTkTzU9z3tcUrhp02puGhUWh2LHsG5xtF+umTuq1JvS+0nHTtuCXnQ7A?= =?iso-8859-1?Q?FHLetOrOpCqqDCiTIaC302WaXgWWMr7BWLQg+TiFDlFKPtrplEKFo+PWEV?= =?iso-8859-1?Q?dT07F1Bcpxr5SRdKWz+8/whUS54jaiJNuLayqy7P893fRXxZVrKnJvyKwA?= =?iso-8859-1?Q?eT37HfJCWpBvpULPtjoFVZSa/vUELqpdDimSxv6oUI6S+E2eqFMTfcUJG5?= =?iso-8859-1?Q?9oP2wuzmyCeZTfMlRbTL8TmvZg8QdkK1lnudONHPlWn34bQfVnhdDGys3X?= =?iso-8859-1?Q?2Uvc3U7avskqFXjsdXmkz0UAHM2NIEfIDKgshnOHg6W8DMO5YGeNZ8fSio?= =?iso-8859-1?Q?TYNA8ZHwMG0/pEq2iMLygtXtWL3MMNNPCFDNgIyrhFpV0V59fGwZggXKca?= =?iso-8859-1?Q?uTNu1NONLTllEZ8T+kIvcHS0alKglc3C2tqU2LL7l6IyXaPRjSyYl0I8sP?= =?iso-8859-1?Q?uYdN1KLEU4e1o1ukRhNZ1IlU86HqV8nFZRND8M5KPmJDKPlBEFir3UBJHL?= =?iso-8859-1?Q?qz2q8MtrgZdzIa2kuBEiC/wbAJkFtng27MKutpZ1DaYHmuQwUdt1bWbPea?= =?iso-8859-1?Q?OVD3bDQGmPldveJ8N+9FJne9sZeayg5MUtSRxy/M5SedW7kqFD8QbdB8JP?= =?iso-8859-1?Q?J8EorL8jAbhicc9N+jWpoNXYYPu7S38SSkRUmA/cQX3LqVp3sU5dk=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR02MB10078.eurprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230037)(376011)(366013)(1800799021)(38070700015);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?XLFLy2LTV1AV76Pb4wSQrDZhqwjAFbZdEiwKr2j2nk+RkD0IJShPQo8G4n?= =?iso-8859-1?Q?BwGS1jbjDAoe7BrU5T/J3u84pEOquoTEorwDhs5UCvPbetwr8GfEAypHKe?= =?iso-8859-1?Q?VkqeUKzmfIv500EZfd/poCHJluaGI5XsWIRGQbd6PQGnK24KDi6rlPxUlV?= =?iso-8859-1?Q?Klku2Gp4FOVeKnNCXHHPoG9ySY5bIrEIX8KM9uf34wWKus2eykOAGd8gZ9?= =?iso-8859-1?Q?rt4wBKr4EeQ/0nji2liZgfb9Kp5vdIzFjYUE+KOPdVNnXbt9CahCcI6Znh?= =?iso-8859-1?Q?rVqc5nBtrUD6MNJfGpWscNBd5q8dwmThPeHcaAWJ7fqysy9xIcWUaNZBmy?= =?iso-8859-1?Q?C/C1zzozuw22dkMcqaLcbrMhT7KC3EbV6/nXHFdQiBbeJMw3ldny5OQJVa?= =?iso-8859-1?Q?oCgMPyghg0DOdXGQeKEXQv8wxjvfjZkxW4wAlssJ//syXYiZrpusyQaS9h?= =?iso-8859-1?Q?4lh2mvyx9xG+2aBl1+JbLci5VLYD+hDJjzjbSK0qADkvwTCrjyCBaf6Lan?= =?iso-8859-1?Q?FyeFlfiE6qNalnOuB1BcSHpye6jPPkEqRC4JaNY+mJbkCAu/tltV/EbsnT?= =?iso-8859-1?Q?UrYCV3r7Y3QshG2mVVQSVYaF5QG8gNqghRHTUd2k+Bd6Be/kuSNEZ3O9hk?= =?iso-8859-1?Q?7XNMLIDhOFXNLjWWqAg2uiw70Nrnk2Zqw3S0SmI9j6+db6grbKkvOBoxjm?= =?iso-8859-1?Q?LQ+ndtyRVnj9eQrZKw/AD4uWZ9yfzIPiHJSq6rdUkgnU5E8WxYU0zycKWq?= =?iso-8859-1?Q?A+p2CYemeHh2hu3GEu77kf69motMCA2ib6vwOGFVtidBBGhTkn/XeA2iiq?= =?iso-8859-1?Q?XChzTwOcao3E2u7rOdvYGKKYFBJYatyKDm8BpNU0HcPjS4agHI6m5clx2a?= =?iso-8859-1?Q?1zGi83ILjxMnocY5KNtWllIBk5q0i0q1XUYmhCBfFcEW2AsqtVJnGUfuFI?= =?iso-8859-1?Q?Xg8Q5cKjfCgTJq61TaMItPvv/85Z7Oajn8BBp01qHorERJ8nNpKgvkU3cV?= =?iso-8859-1?Q?XjooRt7dgHLkOgtRPubNlp+SsG58yGVJzB4lyo/we1y9WVGbEFuGH10sjb?= =?iso-8859-1?Q?BZXtID3CftQ2nOoSO5Mykj6COouE9m1x3jqWum5zAViAmTHAwQy2UDWxve?= =?iso-8859-1?Q?1T4XbbsfGK3Q4lcqJ8Nspf15DgsJbKiIKOYCsUarmDEFekBGRLafvC6MSv?= =?iso-8859-1?Q?Ve8rh7jAyOBzcm1FcpO/L8cOu/KC5osVfEDmzl/5thasD+8r3b04UnAMsB?= =?iso-8859-1?Q?htDUBFlSR1488ineXGhQwYTAxM5bOMghptUM0aOfXXokkZUQETHjfDnZLb?= =?iso-8859-1?Q?al1VeTCs4lfCyqEdGCjwdtmrLh9oI14ZXj/Oa90Hpkt5BHkBd+RSait6Sb?= =?iso-8859-1?Q?ToAmJHSX3LfU1Ct9ZjgRscezAHw1IkAGNYHBV43Zjg0RS8aSNDms+8P3Nw?= =?iso-8859-1?Q?lRgrY2H+7w6y6N3JQqexaVPWdbMHaxzQQBSlDHwGSs/0jVGiW5V/eJ7Cvt?= =?iso-8859-1?Q?h0TbyI4BKVjL9aU2qrQsr/b77X/8oqeOght2JB/Ef1kY6xM2LMDFtIp91L?= =?iso-8859-1?Q?Wn161qQGYDRufEhF9Y/W0n9fKrgMGJZvozxbOKac3n2WsG3Lf3Fkara5NS?= =?iso-8859-1?Q?EBtVSpS4HAUq0NPGay1dRLa3YCX6igD4KK6sLQ6edZVL0GjSiuLslRmQ?= =?iso-8859-1?Q?=3D=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: sonymusic.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS8PR02MB10078.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec2f1af8-e6cd-4a71-b2db-08dc8fe24f89 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2024 22:02:13.9123 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f0aff3b7-91a5-4aae-af71-c63e1dda2049 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wSg/Cxb7YzE+U/ATpxMQ5noAM+QMSylMwr2N2tNxX6WwdclsSxibXqwVMZZqkORujE2OHTVdU5N6w4TG35IrCnnzvZmfa264ZHXwHed15CE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR02MB5772 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi I would this this is what you are looking for It will change owner on Func's and Proc's where current owner is foo to be = bar. \set ECHO all \set ON_ERROR_STOP on DO $proc$ declare v_rec record; v_sql text; v_owner_to_find text; v_owner_to_set text; begin v_owner_to_find :=3D 'foo'; v_owner_to_set :=3D 'bar'; for v_rec in (SELECT n.nspname, case p.prokind when 'p' then 'procedure ' else 'functi= on ' end as what_is_it, p.proname, pg_catalog.pg_get_function_identity_arguments(p.oid) p= roc_interface FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON (n.oid =3D p.pronamesp= ace) WHERE p.prokind in ('p','f') and pg_catalog.pg_get_userbyid(p.proowner) =3D v_owner_to_find ORDER BY n.nspname, what_is_it, p.proname, proc_interface ) loop v_sql :=3D format('alter %s %s.%s (%s) owner to %s;',v_rec.what_is_it,v_r= ec.nspname, v_rec.proname, v_rec.proc_interface,v_owner_to_set); raise notice '%',v_sql; execute v_sql; end loop; end $proc$ ; =A0 This message is only for the use of the persons(s) to whom it is intended. = It may contain=A0privileged and confidential information within the meaning= of applicable law. If you are not the intended recipient, please do not us= e this information for any purpose, destroy this message and inform the sen= der immediately. The views expressed in this communication may not necessar= ily be the views held by Sony Music Entertainment -----Original Message----- From: PABLO ANDRES IBARRA DUPRAT =20 Sent: Tuesday, June 18, 2024 5:14 PM To: Tom Lane ; David G. Johnston Cc: pgsql-admin@lists.postgresql.org Subject: RE: Scripting a ALTER PROCEDURE or FUNCTION to Change OWNER [You don't often get email from pablo.ibarra@itau.cl. Learn why this is imp= ortant at https://aka.ms/LearnAboutSenderIdentification ] EXTERNAL SENDER Thanks in advance -----Mensaje original----- De: Tom Lane Enviado el: martes, 18 de junio de 2024 17:09 Para: David G. Johnston CC: PABLO ANDRES IBARRA DUPRAT ; pgsql-admin@lists.po= stgresql.org Asunto: Re: Scripting a ALTER PROCEDURE or FUNCTION to Change OWNER "David G. Johnston" writes: > Specifically: > select id.*, pg_proc.*, tableoid from pg_proc, > pg_identify_object(1255,oid,0) as id; Personally, I'd cast the procedure's OID to regprocedure instead. More or less the same output, doesn't require magic numbers. (Although I think you could write "pg_proc.tableoid" instead of "1255", if = you're intent on using pg_identify_object.) regards, tom lane Para asegurar la adecuada lectura= en todo tipo de correos electronicos, se han omitido intencionalmente los = signos y acentos diacriticos del idioma castellano. La informacion contenid= a en este mensaje y cualquier archivo adjunto es confidencial y no puede se= r usada por mas personas que sus destinatarios. El uso no autorizado de est= a informacion puede ser sancionado de conformidad con el Codigo Penal chile= no. Si ha recibido este correo por error, por favor notifique al remitente = respondiendo este mismo mensaje y elimine el mensaje y todos los archivos a= djuntos. Internet no puede garantizar la integridad de este mensaje, por lo= que el Banco no se hace responsable si el contenido del mismo ha sido alte= rado. This email originated from outside of Sony Music. Do not click links or op= en attachments unless you recognize the sender and know the content is safe= .