pg_pltemplate stores "template" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple
CREATE LANGUAGE command, with no need to specify implementation details.
Unlike most system catalogs,
pg_pltemplate is shared across all databases of a cluster: there is only one copy of
pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.
| || ||Name of the language this template is for|
| || ||True if language is considered trusted|
| || ||True if language may be created by a database owner|
| || ||Name of call handler function|
| || ||Name of anonymous-block handler function, or null if none|
| || ||Name of validator function, or null if none|
| || ||Path of shared library that implements language|
| || ||Access privileges for template (not actually used)|
There are not currently any commands that manipulate procedural language templates; to change the built-in information, a superuser must modify the table using ordinary
Note: It is likely that
pg_pltemplatewill be removed in some future release of PostgreSQL, in favor of keeping this knowledge about procedural languages in their respective extension installation scripts.
© 1996–2017 The PostgreSQL Global Development Group
Licensed under the PostgreSQL License.