PostgreSQL

PostgreSQL Elephant Logo

51.37. pg_pltemplate

The catalog pg_pltemplate stores “[.quote]#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.

Table 51.37. pg_pltemplate Columns

Name Type Description

tmplname

name

Name of the language this template is for

tmpltrusted

boolean

True if language is considered trusted

tmpldbacreate

boolean

True if language may be created by a database owner

tmplhandler

text

Name of call handler function

tmplinline

text

Name of anonymous-block handler function, or null if none

tmplvalidator

text

Name of validator function, or null if none

tmpllibrary

text

Path of shared library that implements language

tmplacl

aclitem[]

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 INSERT, DELETE, or UPDATE commands.

Note

It is likely that pg_pltemplate will be removed in some future release of PostgreSQL, in favor of keeping this knowledge about procedural languages in their respective extension installation scripts.


Prev Up Next

51.36. pg_partitioned_table

Home

51.38. pg_policy

Submit correction

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.

Copyright © 1996-2023 The PostgreSQL Global Development Group