Stored procedure code no longer stored in v14 and v15, changed behaviour - Mailing list pgsql-general

From Martijn Tonies \(Upscene Productions\)
Subject Stored procedure code no longer stored in v14 and v15, changed behaviour
Date
Msg-id 23DE96C56DFC404096553A22DDC5093B@MARTIJNWS
Whole thread Raw
Responses Re: Stored procedure code no longer stored in v14 and v15, changed behaviour
List pgsql-general
Hi all,

In PosgreSQL version 13, the source code for a stored procedure or function 
in SQL/plpgsql/etc was stored in pg_proc.prosrc. This column would hold the 
original procedure or function body, verbatim.

Since version 14, the source code for a stored procedure or function written 
in plain (compound) SQL, a new feature, is no longer stored in 
pg_proc.prosrc, instead, there’s an additional column prosqlbody which 
returns some kind of pre-parsed SQL which has no use for the user.

I know you can use pg_get_functiondef to get a CREATE PROCEDURE/FUNCTION 
statement, but for compound SQL based routines in v14 and v15, this removes 
all formatting and comments in the original CREATE statement. For database 
development, including browsing an existing database and know what each 
routine can do, this is quite terrible.


What is the reason for this?


Can you modify the server code to store the original body in proc.prosrc 
again? It would be very helpful.


With regards,

Martijn Tonies
Upscene Productions
https://www.upscene.com

Database Workbench - developer tool for Oracle, SQL Server, PostgreSQL, 
MySQL, InterBase, NexusDB and Firebird. 




pgsql-general by date:

Previous
From: Vijaykumar Jain
Date:
Subject: Re: postgres large database backup
Next
From: "David G. Johnston"
Date:
Subject: Re: Stored procedure code no longer stored in v14 and v15, changed behaviour