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.