Thread: How to list ALL PostgreSQL functions?
How do I get an overview of all functions in the PG api
e.g. :
posgres=# SELECT pg_last_xlog_receive_location();
postgres=# SELECT pg_current_xlog_location();
In my opinion it is not obvious how to list all pg_* functions.
Can anyone help?
Thanks
Poul
12 сент. 2016 г., в 13:25, Poul Kristensen <bcc5226@gmail.com> написал(а):Hi !How do I get an overview of all functions in the PG apie.g. :posgres=# SELECT pg_last_xlog_receive_location();postgres=# SELECT pg_current_xlog_location();In my opinion it is not obvious how to list all pg_* functions.Can anyone help?
\df pg_* in psql?
ThanksPoul
Sorry for not clear speach!
It seems that all functions have the prefix off pg_.
I want to list all functions maybe with a short description in the PG api
E.g.
some command listing
pg_last_xlog_receivepg_current_xlog_locationetc.the \dfdoes not help in the case.ThanksPoul
2016-09-12 12:31 GMT+02:00 Vladimir Borodin <root@simply.name>:
12 сент. 2016 г., в 13:25, Poul Kristensen <bcc5226@gmail.com> написал(а):Hi !How do I get an overview of all functions in the PG apie.g. :posgres=# SELECT pg_last_xlog_receive_location(); postgres=# SELECT pg_current_xlog_location();In my opinion it is not obvious how to list all pg_* functions.Can anyone help?\df pg_* in psql?ThanksPoul
Med venlig hilsen / Best regards
Poul Kristensen
Linux-OS/Virtualizationexpert and Oracle DBA
Poul Kristensen
Linux-OS/Virtualizationexpert and Oracle DBA
On Mon, Sep 12, 2016 at 12:46:38PM +0200, Poul Kristensen wrote: > Sorry for not clear speach! > > It seems that all functions have the prefix off pg_. > > I want to list all functions maybe with a short description in the PG api > > E.g. > > some command listing > > pg_last_xlog_receive > pg_current_xlog_location > etc. > > the \df > does not help in the case. Check the docs. psql \df shows you list of functions. Description can be found in manual. Start with: https://www.postgresql.org/docs/current/static/bookindex.html#AEN182285 and then, click on appropriate function. For example, link for pg_last_xlog_receive_location is https://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-RECOVERY-CONTROL and pg_current_xlog_location is https://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-BACKUP Best regards, depesz
Thanks a lot.for links :)
btw:
psql \df gives
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
/Poul
2016-09-12 12:56 GMT+02:00 hubert depesz lubaczewski <depesz@depesz.com>:
On Mon, Sep 12, 2016 at 12:46:38PM +0200, Poul Kristensen wrote:
> Sorry for not clear speach!
>
> It seems that all functions have the prefix off pg_.
>
> I want to list all functions maybe with a short description in the PG api
>
> E.g.
>
> some command listing
>
> pg_last_xlog_receive
> pg_current_xlog_location
> etc.
>
> the \df
> does not help in the case.
Check the docs.
psql \df shows you list of functions.
Description can be found in manual.
Start with:
https://www.postgresql.org/docs/current/static/bookindex. html#AEN182285
and then, click on appropriate function.
For example, link for pg_last_xlog_receive_location is
https://www.postgresql.org/docs/current/static/functions- admin.html#FUNCTIONS-RECOVERY- CONTROL
and pg_current_xlog_location is
https://www.postgresql.org/docs/current/static/functions- admin.html#FUNCTIONS-ADMIN- BACKUP
Best regards,
depesz
Med venlig hilsen / Best regards
Poul Kristensen
Linux-OS/Virtualizationexpert and Oracle DBA
Poul Kristensen
Linux-OS/Virtualizationexpert and Oracle DBA
On Mon, Sep 12, 2016 at 01:11:11PM +0200, Poul Kristensen wrote: > Thanks a lot.for links :) > > btw: > > psql \df gives \df gives you list of user functions. you can add more parameters, to limit/extend the list. like: \df pg_* will list all functions (including system one) that start with pg_ \dfS will list all system functions \df+ *xlog* will list all functions (including system) that contain "xlog" in their name, with some additional columns, which include "description" - one line info about the function. Best regards, depesz
hubert depesz lubaczewski <depesz@depesz.com> writes: > \df gives you list of user functions. you can add more parameters, to > limit/extend the list. > like: > \df pg_* > will list all functions (including system one) that start with pg_ > \dfS > will list all system functions > \df+ *xlog* > will list all functions (including system) that contain "xlog" in their > name, with some additional columns, which include "description" - one > line info about the function. Also, you can make your own queries on pg_proc, which is all that psql is doing here. A nice abbreviated form is select oid::regprocedure, obj_description(oid, 'pg_proc') from pg_proc; which gives you just the name, arg types, and comment for each row. Keep in mind that 1. This will show you an awful lot of stuff that's not meant to be called directly from SQL, eg I/O functions, operator implementation functions, aggregate support functions, cast functions, index support functions. I count 2831 rows in pg_proc in a virgin installation as of HEAD, and probably not even 1000 of them are really meant to be called as functions in ordinary queries. 2. This will not show you some things that look like functions but are implemented by special grammar productions. For that you'd have to look into src/backend/parser/gram.y. regards, tom lane
Thanks a lot.
How to size HW resources on a physical server for PG95+?
What does PG95+ like? Cpu? L1(expensive I think) 2 or 3 cache level?. RAM?
Any idea?
Thanks
Poul
2016-09-12 13:56 GMT+02:00 Tom Lane <tgl@sss.pgh.pa.us>:
hubert depesz lubaczewski <depesz@depesz.com> writes:
> \df gives you list of user functions. you can add more parameters, to
> limit/extend the list.
> like:
> \df pg_*
> will list all functions (including system one) that start with pg_
> \dfS
> will list all system functions
> \df+ *xlog*
> will list all functions (including system) that contain "xlog" in their
> name, with some additional columns, which include "description" - one
> line info about the function.
Also, you can make your own queries on pg_proc, which is all that psql is
doing here. A nice abbreviated form is
select oid::regprocedure, obj_description(oid, 'pg_proc') from pg_proc;
which gives you just the name, arg types, and comment for each row.
Keep in mind that
1. This will show you an awful lot of stuff that's not meant to be called
directly from SQL, eg I/O functions, operator implementation functions,
aggregate support functions, cast functions, index support functions.
I count 2831 rows in pg_proc in a virgin installation as of HEAD, and
probably not even 1000 of them are really meant to be called as functions
in ordinary queries.
2. This will not show you some things that look like functions but are
implemented by special grammar productions. For that you'd have to
look into src/backend/parser/gram.y.
regards, tom lane
Med venlig hilsen / Best regards
Poul Kristensen
Linux-OS/Virtualizationexpert and Oracle DBA
Poul Kristensen
Linux-OS/Virtualizationexpert and Oracle DBA
El lun, 12-09-2016 a las 20:00 +0200, Poul Kristensen escribió: > > Thanks a lot. > > How to size HW resources on a physical server for PG95+? Please create a new thread and try to avoid mixing subjects > > What does PG95+ like? Cpu? L1(expensive I think) 2 or 3 cache level?. > RAM? > > Any idea? > > Thanks > > Poul > > > > 2016-09-12 13:56 GMT+02:00 Tom Lane <tgl@sss.pgh.pa.us>: > > hubert depesz lubaczewski <depesz@depesz.com> writes: > > > \df gives you list of user functions. you can add more > > parameters, to > > > limit/extend the list. > > > like: > > > \df pg_* > > > will list all functions (including system one) that start with > > pg_ > > > \dfS > > > will list all system functions > > > \df+ *xlog* > > > will list all functions (including system) that contain "xlog" in > > their > > > name, with some additional columns, which include "description" - > > one > > > line info about the function. > > > > Also, you can make your own queries on pg_proc, which is all that > > psql is > > doing here. A nice abbreviated form is > > > > select oid::regprocedure, obj_description(oid, 'pg_proc') from > > pg_proc; > > > > which gives you just the name, arg types, and comment for each row. > > > > Keep in mind that > > > > 1. This will show you an awful lot of stuff that's not meant to be > > called > > directly from SQL, eg I/O functions, operator implementation > > functions, > > aggregate support functions, cast functions, index support > > functions. > > I count 2831 rows in pg_proc in a virgin installation as of HEAD, > > and > > probably not even 1000 of them are really meant to be called as > > functions > > in ordinary queries. > > > > 2. This will not show you some things that look like functions but > > are > > implemented by special grammar productions. For that you'd have to > > look into src/backend/parser/gram.y. > > > > regards, tom lane > > > > > -- > Med venlig hilsen / Best regards > Poul Kristensen > Linux-OS/Virtualizationexpert and Oracle DBA