@@ -30,10 +30,43 @@ ORDER BY schema, name, initpriv;
30
30
31
31
\di _timescaledb_catalog.*
32
32
\ds+ _timescaledb_catalog.*
33
- \df _timescaledb_internal.*
34
- \df+ _timescaledb_internal.*
35
- \df public.* ;
36
- \df+ public.* ;
33
+
34
+ -- Functions in schemas:
35
+ -- * _timescaledb_internal
36
+ -- * _timescaledb_functions
37
+ -- * public
38
+ SELECT n .nspname as " Schema" ,
39
+ p .proname as " Name" ,
40
+ pg_catalog .pg_get_function_result (p .oid ) as " Result data type" ,
41
+ pg_catalog .pg_get_function_arguments (p .oid ) as " Argument data types" ,
42
+ CASE p .prokind
43
+ WHEN ' a' THEN ' agg'
44
+ WHEN ' w' THEN ' window'
45
+ WHEN ' p' THEN ' proc'
46
+ ELSE ' func'
47
+ END as " Type" ,
48
+ CASE
49
+ WHEN p .provolatile = ' i' THEN ' immutable'
50
+ WHEN p .provolatile = ' s' THEN ' stable'
51
+ WHEN p .provolatile = ' v' THEN ' volatile'
52
+ END as " Volatility" ,
53
+ CASE
54
+ WHEN p .proparallel = ' r' THEN ' restricted'
55
+ WHEN p .proparallel = ' s' THEN ' safe'
56
+ WHEN p .proparallel = ' u' THEN ' unsafe'
57
+ END as " Parallel" ,
58
+ pg_catalog .pg_get_userbyid (p .proowner ) as " Owner" ,
59
+ CASE WHEN prosecdef THEN ' definer' ELSE ' invoker' END AS " Security" ,
60
+ CASE WHEN pg_catalog .array_length (p .proacl , 1 ) = 0 THEN ' (none)' ELSE pg_catalog .array_to_string (p .proacl , E' \n ' ) END AS " Access privileges" ,
61
+ l .lanname as " Language" ,
62
+ p .prosrc as " Source code" ,
63
+ CASE WHEN l .lanname IN (' internal' , ' c' ) THEN p .prosrc END as " Internal name" ,
64
+ pg_catalog .obj_description (p .oid , ' pg_proc' ) as " Description"
65
+ FROM pg_catalog .pg_proc p
66
+ LEFT JOIN pg_catalog .pg_namespace n ON n .oid = p .pronamespace
67
+ LEFT JOIN pg_catalog .pg_language l ON l .oid = p .prolang
68
+ WHERE n .nspname OPERATOR(pg_catalog.~) ' ^(_timescaledb_internal|_timescaledb_functions|public)$' COLLATE pg_catalog .default
69
+ ORDER BY 1 , 2 , 4 ;
37
70
38
71
\dy
39
72
\d public.*
0 commit comments