The list of all the queries

The total number of physical lines of code in the bodies of user-defined SQL and PL/pgSQL functions/procedures

Query goal: Find a numerical measure that describes the extent of the database public interface (virtual data layer) through which users access the database.
Notes about the query: Refers to the column pg_proc.prokind and thus works starting from PostgreSQL 11. The query does not consider the routines that are a part of an extension. The query considers only routines that are written in SQL or PL/pgSQL. The query only considers functions and procedures, i.e., does not consider aggregate and window functions. The query uses newline characters as the separator based on which to split routine body text into table. The query also considers routines with SQL-standard bodies, which are permitted starting from PostgreSQL 14. In case of using it prior PostgreSQL 14, one should replace the expression "CASE WHEN pg_proc.prosqlbody IS NULL THEN pg_proc.prosrc ELSE pg_get_function_sqlbody(pg_proc.oid) END" with "pg_proc.prosrc".
Query type: Sofware measure (Numeric values (software measures) about the database)
Query license: MIT License
Data source: INFORMATION_SCHEMA+system catalog
SQL query: Click on query to copy it

SELECT Count(*) AS number_of_physical_lines_of_code
FROM (
SELECT 
  regexp_split_to_table(regexp_replace(CASE WHEN p.prosqlbody IS NULL THEN p.prosrc ELSE pg_get_function_sqlbody(p.oid) END,'\n',''), E'\\\n+') AS routine_body
FROM 
pg_catalog.pg_proc p JOIN pg_catalog.pg_namespace n ON p.pronamespace = n.oid
JOIN pg_catalog.pg_language l ON p.prolang = l.oid
WHERE 
 p.proname NOT IN ('f_assume_you_must_use_files', 'f_check_format_comma_separated_list', 'f_check_password', 'f_default_value_with_no_match') 
 AND l.lanname IN ('sql','plpgsql') 
 AND p.prokind IN ('f', 'p') 
 AND n.nspname NOT IN (SELECT schema_name
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name<>'public' AND
schema_owner='postgres' AND schema_name IS NOT NULL) 
AND NOT EXISTS (SELECT 1
FROM pg_catalog.pg_depend d 
WHERE EXISTS (SELECT 1 
FROM pg_catalog.pg_extension e 
WHERE d.refobjid=e.oid) AND
d.objid=p.oid)) AS foo
WHERE routine_body<>'';

Collections where the query belongs to

Collection nameCollection description
Find problems by overviewQueries that results point to different aspects of database that might have problems. A human reviewer has to decide based on the results as to whether there are problems or not .
Find quick numeric overview of the databaseQueries that return numeric values showing mostly the number of different types of database objects in the database

Categories where the query belongs to

Category nameCategory description
User-defined routinesQueries of this category provide information about the user-defined routines

Reference materials for further reading

Reference
https://en.wikipedia.org/wiki/Source_lines_of_code

The list of all the queries