Re: Undocumented functions - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: Undocumented functions
Date
Msg-id CAFj8pRC=ErYkfHzT39YV6zh+rbmFiwfZDWG7zbBAFOzp=rMHvw@mail.gmail.com
Whole thread Raw
In response to Undocumented functions  (Marcos Pegoraro <marcos@f10.com.br>)
List pgsql-hackers
Hi

so 7. 9. 2024 v 20:58 odesílatel Marcos Pegoraro <marcos@f10.com.br> napsal:
Some days ago Tom Lane said ...

SELECT events & 4 != 0 AS can_upd, events & 8 != 0 AS can_ins, events & 16 != 0 AS can_del FROM pg_catalog.pg_relation_is_updatable('_pessoa'::regclass, false) t(events);

Well, I didn't find that function on DOCs and then I thought, are there other functions which are not documented ? Why ?
Then if I get all functions from pg_catalog
select string_agg(distinct format('"%s"',proname),',') from pg_proc where pronamespace::regnamespace::text = 'pg_catalog'

using PowerShell declare a variable, on the SGML folder I use ...

$vv = (result of that select)
foreach ($v in $vv) {if (!((Get-Content . | %{$_ -match $v}) -contains $true)) {
Write-Host $v}}

I'll get all functions which are on pg_catalog but not on SGML files, so are not documented. 

Example, elem_contained_by_range is not documented. I know I can use 
select 2 <@ '[1,3]'::int4range
But why is that function not documented ?
select elem_contained_by_range(2,'[1,3]'::int4range);

And what other functions are cool to use but are not documented ?

there are lot of useful undocumented functions - see queries from https://github.com/postgres/postgres/blob/master/src/bin/psql/describe.c

I see the main reason for the existence of undocumented functions  inside Postgres or MSSQL is a missing guarantee of stability or existence.

Everything in the pg_catalog schema can be different with every major release. pg_relation_is_updatable is part of FDW support, it is not designed for users.






regards
Marcos

pgsql-hackers by date:

Previous
From: Marcos Pegoraro
Date:
Subject: Undocumented functions
Next
From: Tom Lane
Date:
Subject: Re: pgstattuple: fix free space calculation