{"Entry":{"collection":"catalog","key":"pg_pltemplate","name":"pg_pltemplate","aliases":[],"metadata":{"changed_in":["8.3","9.0","9.5"],"changes":[{"added":[],"attributes":[],"description_changed":false,"descriptions":[],"from":"8.0","order":false,"removed":[],"status":"added","to":"8.1","types":[]},{"added":["tmpldbacreate"],"attributes":[],"description_changed":false,"descriptions":[],"from":"8.2","listing":[],"order":false,"removed":[],"status":"changed","to":"8.3","types":[],"unlisted":[]},{"added":["tmplinline"],"attributes":[],"description_changed":false,"descriptions":[{"from":"Name of validator function, or NULL if none","name":"tmplvalidator","to":"Name of validator function, or null if none"}],"from":"8.4","listing":[],"order":false,"removed":[],"status":"changed","to":"9.0","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":false,"descriptions":[{"from":"Access privileges for template (not yet used)","name":"tmplacl","to":"Access privileges for template (not actually used)"}],"from":"9.0","listing":[],"order":false,"removed":[],"status":"reworded","to":"9.1","types":[],"unlisted":[]},{"added":[],"attributes":[{"attribute":"not_null","from":false,"name":"tmplhandler","to":true},{"attribute":"not_null","from":false,"name":"tmpllibrary","to":true}],"description_changed":false,"descriptions":[],"from":"9.4","listing":[],"order":false,"removed":[],"status":"changed","to":"9.5","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":true,"descriptions":[],"from":"9.6","listing":[],"order":false,"removed":[],"status":"reworded","to":"10","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":false,"descriptions":[],"from":"12","order":false,"removed":[],"status":"removed","to":"13","types":[]}],"column_count":8,"content_hash":"5acc89c4d43ee4bdebeddcdbef239f9ced01e165bce70f631696fffa53c83aae","first_version":"8.1","imported_at":"2026-09-30T00:40:55.672961+08:00","kind":"catalog","last_version":"12","name":"pg_pltemplate","position":52,"present_in":["8.1","8.2","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6","10","11","12"],"relation_oid":null,"relkind":"r","shared":false,"source_rev":"english-manuals:d7c8aeb42da131ff2fb13364ffedb7f46888ad2d63a4b426455e01589e3e71ff","summary":"The catalog pg_pltemplate stores “template” information for procedural languages.","summary_zh":""}},"Definition":{"Collection":"catalog","Key":"pg_pltemplate","SourceDatabase":"center","Version":"12","SourceTable":"catalog","SourceKey":"pg_pltemplate","SourceRevision":"english-manuals:d7c8aeb42da131ff2fb13364ffedb7f46888ad2d63a4b426455e01589e3e71ff","Facts":{"columns":[{"array_dimensions":0,"attnum":1,"description":"Name of the language this template is for","description_zh":"","documented":true,"documented_name":"tmplname","hidden":false,"name":"tmplname","not_null":true,"references":"","type":"name","type_modifier":-1,"type_oid":19},{"array_dimensions":0,"attnum":2,"description":"True if language is considered trusted","description_zh":"","documented":true,"documented_name":"tmpltrusted","hidden":false,"name":"tmpltrusted","not_null":true,"references":"","type":"boolean","type_modifier":-1,"type_oid":16},{"array_dimensions":0,"attnum":3,"description":"True if language may be created by a database owner","description_zh":"","documented":true,"documented_name":"tmpldbacreate","hidden":false,"name":"tmpldbacreate","not_null":true,"references":"","type":"boolean","type_modifier":-1,"type_oid":16},{"array_dimensions":0,"attnum":4,"description":"Name of call handler function","description_zh":"","documented":true,"documented_name":"tmplhandler","hidden":false,"name":"tmplhandler","not_null":true,"references":"","type":"text","type_modifier":-1,"type_oid":25},{"array_dimensions":0,"attnum":5,"description":"Name of anonymous-block handler function, or null if none","description_zh":"","documented":true,"documented_name":"tmplinline","hidden":false,"name":"tmplinline","not_null":false,"references":"","type":"text","type_modifier":-1,"type_oid":25},{"array_dimensions":0,"attnum":6,"description":"Name of validator function, or null if none","description_zh":"","documented":true,"documented_name":"tmplvalidator","hidden":false,"name":"tmplvalidator","not_null":false,"references":"","type":"text","type_modifier":-1,"type_oid":25},{"array_dimensions":0,"attnum":7,"description":"Path of shared library that implements language","description_zh":"","documented":true,"documented_name":"tmpllibrary","hidden":false,"name":"tmpllibrary","not_null":true,"references":"","type":"text","type_modifier":-1,"type_oid":25},{"array_dimensions":1,"attnum":8,"description":"Access privileges for template (not actually used)","description_zh":"","documented":true,"documented_name":"tmplacl","hidden":false,"name":"tmplacl","not_null":false,"references":"","type":"aclitem[]","type_modifier":-1,"type_oid":1034}],"description":"The catalog 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.\n\nUnlike 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.","description_zh":"","doc":{"anchor":"id-1.10.4.39.5","file":"catalog-pg-pltemplate.html","lang":"en","sha256":"8d743901c6cbac2a8ab384f2285615c49288deae0d15772910d62cda18e06893","slug":"12"},"kind":"catalog","lang":"en","measured_attributes":true,"metadata_release":"12.22","runtime_columns":["tmplname","tmpltrusted","tmpldbacreate","tmplhandler","tmplinline","tmplvalidator","tmpllibrary","tmplacl"],"runtime_verified":false,"source":"english-manual"},"ManualEvidence":{"doc":{"anchor":"id-1.10.4.39.5","file":"catalog-pg-pltemplate.html","lang":"en","sha256":"8d743901c6cbac2a8ab384f2285615c49288deae0d15772910d62cda18e06893","slug":"12"}},"MeasuredEvidence":{"measured_attributes":true,"metadata_release":"12.22","runtime_columns":["tmplname","tmpltrusted","tmpldbacreate","tmplhandler","tmplinline","tmplvalidator","tmpllibrary","tmplacl"],"runtime_verified":false}},"Text":{"Collection":"catalog","Key":"pg_pltemplate","SourceDatabase":"pgweb","Version":"12","Locale":"zh-Hans","Title":"pg_pltemplate","Summary":"目录pg_pltemplate存储过程语言的“模板”信息。有了语言模板，就可以用简单的CREATE LANGUAGE命令在特定数据库中创建该语言，无需指定实现细节。\n\n与大多数系统目录不同，pg_pltemplate由一个集簇中的所有数据库共享：每个集簇只有一份pg_pltemplate，而不是每个数据库各有一份。这样，每个数据库都可以在需要时访问这些信息。","BodyHTML":"\u003cp\u003e目录pg_pltemplate存储过程语言的“模板”信息。有了语言模板，就可以用简单的CREATE LANGUAGE命令在特定数据库中创建该语言，无需指定实现细节。\n\n与大多数系统目录不同，pg_pltemplate由一个集簇中的所有数据库共享：每个集簇只有一份pg_pltemplate，而不是每个数据库各有一份。这样，每个数据库都可以在需要时访问这些信息。\u003c/p\u003e","SourceRevision":"2026-09-27@419045e","ContentHash":"545d35d571425b9a2138a128c1fd25ddd181a81f87fe691db2e8dfe6acf95969","Payload":{"columns":[{"description_zh":"此模板所对应的语言名称","name":"tmplname","type":"name","zh_from":"doc"},{"description_zh":"如果该语言被视为受信任的语言，则为真","name":"tmpltrusted","type":"boolean","zh_from":"doc"},{"description_zh":"如果数据库拥有者可以创建该语言，则为真","name":"tmpldbacreate","type":"boolean","zh_from":"doc"},{"description_zh":"调用处理器函数的名称","name":"tmplhandler","type":"text","zh_from":"doc"},{"description_zh":"匿名块处理器函数的名称；如果没有则为 NULL","name":"tmplinline","type":"text","zh_from":"doc"},{"description_zh":"验证器函数的名称；如果没有则为 NULL","name":"tmplvalidator","type":"text","zh_from":"doc"},{"description_zh":"实现该语言的共享库的路径","name":"tmpllibrary","type":"text","zh_from":"doc"},{"description_zh":"模板的访问权限（实际上未使用）","name":"tmplacl","type":"aclitem[]","zh_from":"doc"}],"description_zh":"目录pg_pltemplate存储过程语言的“模板”信息。有了语言模板，就可以用简单的CREATE LANGUAGE命令在特定数据库中创建该语言，无需指定实现细节。\n\n与大多数系统目录不同，pg_pltemplate由一个集簇中的所有数据库共享：每个集簇只有一份pg_pltemplate，而不是每个数据库各有一份。这样，每个数据库都可以在需要时访问这些信息。","zh_from":"doc"}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["10","11","12","8.1","8.2","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
