Extensions
- cat_tools 0.2.1
- Tools for interfacing with the catalog
Documentation
- HISTORY
- HISTORY
README
Contents
Cat Tools
These are tools that make it easier to interface with the Postgres catalog tables/views/functions. They are meant for use by code, not by people.
To make use of them, you need to grant cat_tools__usage to any roles that need access.
Current Status
This is very much a work in progress. If it doesn’t do something you need, please open an issue!
Supported Versions
Works on Postgres 9.3 and above.
Data Types
-
cat_tools.object_type- Descriptive names for every type of Postgres object (table, operator, rule, etc) -
cat_tools.constraint_type- Types of constraints (domain constraintortable_constraint) -
cat_tools.relation_type- Types of objects stored inpg_class -
cat_tools.relation_relkind- Valid values forpg_class.relkind
Functions
-
cat_tools.currval(table, column)- Returns current value for a sequence owned by a column -
cat_tools.enum_range(regtype)- Returns valid values for an ENUM as an array -
cat_tools.enum_range_srf(regtype)- Returns valid values for an ENUM as a recordset -
cat_tools.name__check(text)- Throws an error if input would be truncated when cast to name -
cat_tools.pg_class(relation regclass)- Returns cat_tools.pg_class_v row for a relation -
cat_tools.pg_extension__get(extension_name name)- Returns cat_tools.pg_extension_v row for an extension -
cat_tools.extension__schemas(extension_names text/name[])- Returns the schemas for the requested functions -
cat_tools.extension__schemas_unique(extension_names text/name[])- Returns a unique array of schemas -
cat_tools.function__arg_types(arguments)- Accepts full function argument string and returns regtype[] of IN/INOUT arguments -
cat_tools.function__arg_types_text(arguments)- Version offunction__arg_typesthat returns text -
cat_tools.object__catalog(object_type)- Returns catalog table that is used to storeobject_typeobjects -
cat_tools.object__reg_type(object_catalog)- Returns the "reg" pseudotype (ie: regclass) associated with a system catalog (ie: pg_class) -
cat_tools.regprocedure(function_name, arguments)- Returns regprocedure for function_name and it’s full set of arguments -
cat_tools.relation__kind(relkind)- Mapping frompg_class.relkindto acat_tools.relation_type -
cat_tools.relation__relkind(relation_type)- Mapping fromcat_tools.relation_typeto apg_class.relkindvalue -
cat_tools.trigger__args_as_text(text)- Converts the arguments for a trigger function (as returned bytrigger__parse()) to text (for backwards compatibility). -
cat_tools.trigger__get_oid(trigger_table, trigger_name)- oid of a trigger. Throws error if trigger doesn’t exits. -
cat_tools.trigger__get_oid__loose(trigger_table, trigger_name)- oid of a trigger. Does not throw error if trigger doesn’t exits. -
cat_tools.trigger__parse(trigger oid)- Returns information about a trigger -
cat_tools.trigger__parse(table_name regclass, trigger_name text)- Returns information about a trigger
Views
|
Warning
|
These views may eventually move into a separate extension! |
-
cat_tools.pg_class_v- Joins pg_class to pg_namespace -
cat_tools.pg_extension_v- Joins pg_extension to pg_namespace; cast extconfig to regclass[] -
cat_tools.column- Returns data about columns -
cat_tools.pg_all_foreign_keys- Data about foreign keys
Copyright and License
Cat Tools is released under a MIT license.
Copyright (c) 2016 Jim Nasby <Jim.Nasby@BlueTreble.com>.
