Fetch Functions - Read-Only User
- SELECT string_agg(format('%I(%s)', p.proname,
pg_catalog.pg_get_function_identity_arguments(p.oid)),',') AS
functions FROM pg_catalog.pg_proc p JOIN pg_catalog.pg_namespace n
ON n.oid = p.pronamespace WHERE p.proname in('version','current_catalog','current_database','current_query','current_role','current_schema','current_user','inet_client_addr','inet_client_port','inet_server_addr','inet_server_port','pg_backend_pid','pg_conf_load_time','pg_is_other_temp_schema','pg_listening_channels','pg_my_temp_schema','pg_postmaster_start_time','pg_trigger_depth','session_user','user','has_any_column_privilege','has_column_privilege','has_database_privilege','has_foreign_data_wrapper_privilege','has_function_privilege','has_language_privilege','has_schema_privilege','has_sequence_privilege','has_server_privilege','has_table_privilege','has_tablespace_privilege','has_type_privilege','pg_has_role','pg_collation_is_visible','pg_conversion_is_visible','pg_function_is_visible','pg_opclass_is_visible','pg_operator_is_visible','pg_opfamily_is_visible','pg_table_is_visible','pg_ts_config_is_visible','pg_ts_dict_is_visible','pg_ts_parser_is_visible','pg_ts_template_is_visible','pg_type_is_visible','format_type','pg_describe_object','pg_get_constraintdef','pg_get_functiondef','pg_get_function_arguments','pg_get_function_identity_arguments','pg_get_function_result','pg_get_indexdef','pg_get_keywords','pg_get_ruledef','pg_get_serial_sequence','pg_get_triggerdef','pg_get_userbyid','pg_get_viewdef','pg_options_to_table','pg_tablespace_databases','pg_tablespace_location','pg_typeof','pg_collation_for','col_description','obj_description','shobj_description','txid_current','txid_current_snapshot','txid_snapshot_xip','txid_snapshot_xmax','txid_snapshot_xmin','txid_visible_in_snapshot','current_setting','set_config','pg_cancel_backend','pg_reload_conf','pg_rotate_logfile','pg_terminate_backend','pg_create_restore_point','pg_current_xlog_insert_location','pg_current_xlog_location','pg_start_backup','pg_stop_backup','pg_switch_xlog','pg_xlogfile_name','pg_xlogfile_name_offset','pg_xlog_location_diff','pg_is_in_recovery','pg_last_xlog_receive_location','pg_last_xlog_replay_location','pg_last_xact_replay_timestamp','pg_is_xlog_replay_paused','pg_xlog_replay_pause','pg_xlog_replay_resume','pg_column_size','pg_database_size','pg_indexes_size','pg_relation_size','pg_size_pretty','pg_table_size','pg_tablespace_size','pg_total_relation_size','pg_ls_dir','pg_read_file','pg_read_binary_file','pg_stat_file','pg_advisory_lock','pg_advisory_lock_shared','pg_advisory_unlock_all','pg_advisory_unlock_shared','pg_advisory_xact_lock','pg_advisory_xact_lock_shared','pg_try_advisory_lock','pg_try_advisory_lock_shared','pg_try_advisory_xact_lock','pg_try_advisory_xact_lock_shared','pg_settings','pg_stat_activity','pg_sleep','CERTENCODED','CERTPRIVATEKEY','CURRENT_USER','DATABASE_PRINCIPAL_ID','HAS_DBACCESS','HAS_PERMS_BY_NAME','IS_MEMBER','IS_ROLEMEMBER','IS_SRVROLEMEMBER','LOGINPROPERTY','ORIGINAL_LOGIN','PERMISSIONS','PWDENCRYPT','PWDCOMPARE','SESSION_USER','SESSIONPROPERTY','SUSER_ID','USER_NAME','SUSER_SID','SUSER_SNAME','SYSTEM_USER','USER','USER_ID','pg_advisory_unlock','GENERATE_SERIES','pg_sleep_for','pg_sleep_until','pg_blocking_pids','pg_current_logfile','pg_notification_queue_usage','pg_safe_snapshot_blocking_pids','row_security_active','pg_statistics_obj_is_visible','pg_get_statisticsobjdef','pg_index_column_has_property','pg_index_has_property','pg_indexam_has_property','to_regclass','to_regproc','to_regprocedure','to_regoper','to_regoperator','to_regtype','to_regnamespace','to_regrole','pg_identify_object','pg_identify_object_as_address','txid_current_if_assigned','txid_status','pg_xact_commit_timestamp','pg_last_committed_xact','pg_control_checkpoint','pg_control_system','pg_control_init','pg_control_recovery','pg_current_wal_flush_lsn','pg_current_wal_insert_lsn','pg_current_wal_lsn','pg_is_in_backup','pg_backup_start_time','pg_switch_wal','pg_walfile_name','pg_walfile_name_offset','pg_wal_lsn_diff','pg_last_wal_receive_lsn','pg_last_wal_replay_lsn','pg_is_wal_replay_paused','pg_wal_replay_pause','pg_wal_replay_resume','pg_create_physical_replication_slot','pg_drop_replication_slot','pg_create_logical_replication_slot','pg_logical_slot_get_changes','pg_logical_slot_peek_changes','pg_logical_slot_get_binary_changes','pg_logical_slot_peek_binary_changes','pg_replication_origin_create','pg_replication_origin_drop','pg_replication_origin_oid','pg_replication_origin_session_setup','pg_replication_origin_session_reset','pg_replication_origin_session_is_setup','pg_replication_origin_session_progress','pg_replication_origin_xact_setup','pg_replication_origin_xact_reset','pg_replication_origin_advance','pg_replication_origin_progress','pg_logical_emit_message','pg_size_bytes','pg_filenode_relation','pg_collation_actual_version','pg_import_system_collations','brin_summarize_new_values','brin_summarize_range','brin_desummarize_range','gin_clean_pending_list','pg_ls_logdir','pg_ls_waldir','pg_stat_replication','pg_export_snapshot','pg_relation_filenode','pg_relation_filepath','pg_get_owned_sequence','pg_get_object_address','pg_read_all_stats','collationfor','collationfor','current_catalog','current_role','current_schema','current_user
','session_user','user');