↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 数据类型

opaque

An obsolete type name that formerly served many of the above purposes.

当前阅读 PG 12·选择有来源记录的版本

此版本暂无所选语言的定义,以下显示原始英文内容。

Catalog name
pg_catalog.opaque
Type OID
2282
Type kind
Pseudo-type
Declared length
4 bytes
Storage strategy
plain
Input function
opaque_in
Output function
opaque_out
Documented declaration
opaque
Manual description
An obsolete type name that formerly served many of the above purposes.
aliases
未知
casts
未知
coverage
source inventory; exact declared input types for operator classes
manual documentation
dedicated family chapter
manual path
datatype-pseudo.html
operator classes
未知
operators
未知
ranges
未知
signature
opaque

版本定义 PG 12

8.21. Pseudo-Types

The PostgreSQL type system contains a number of special-purpose entries that are collectively called pseudo-types. A pseudo-type cannot be used as a column data type, but it can be used to declare a function's argument or result type. Each of the available pseudo-types is useful in situations where a function's behavior does not correspond to simply taking or returning a value of a specific SQL data type. Table 8.27 lists the existing pseudo-types.

Table 8.27. Pseudo-Types

Name Description
any Indicates that a function accepts any input data type.
anyelement Indicates that a function accepts any data type (see Section 37.2.5).
anyarray Indicates that a function accepts any array data type (see Section 37.2.5).
anynonarray Indicates that a function accepts any non-array data type (see Section 37.2.5).
anyenum Indicates that a function accepts any enum data type (see Section 37.2.5 and Section 8.7).
anyrange Indicates that a function accepts any range data type (see Section 37.2.5 and Section 8.17).
cstring Indicates that a function accepts or returns a null-terminated C string.
internal Indicates that a function accepts or returns a server-internal data type.
language_handler A procedural language call handler is declared to return language_handler.
fdw_handler A foreign-data wrapper handler is declared to return fdw_handler.
index_am_handler An index access method handler is declared to return index_am_handler.
tsm_handler A tablesample method handler is declared to return tsm_handler.
record Identifies a function taking or returning an unspecified row type.
trigger A trigger function is declared to return trigger.
event_trigger An event trigger function is declared to return event_trigger.
pg_ddl_command Identifies a representation of DDL commands that is available to event triggers.
void Indicates that a function returns no value.
unknown Identifies a not-yet-resolved type, e.g., of an undecorated string literal.
opaque An obsolete type name that formerly served many of the above purposes.

Functions coded in C (whether built-in or dynamically loaded) can be declared to accept or return any of these pseudo data types. It is up to the function author to ensure that the function will behave safely when a pseudo-type is used as an argument type.

Functions coded in procedural languages can use pseudo-types only as allowed by their implementation languages. At present most procedural languages forbid use of a pseudo-type as an argument type, and allow only void and record as a result type (plus trigger or event_trigger when the function is used as a trigger or event trigger). Some also support polymorphic functions using the types anyelement, anyarray, anynonarray, anyenum, and anyrange.

The internal pseudo-type is used to declare functions that are meant only to be called internally by the database system, and not by direct invocation in an SQL query. If a function has at least one internal-type argument then it cannot be called from SQL. To preserve the type safety of this restriction it is important to follow this coding rule: do not create any function that is declared to return internal unless it has at least one internal argument.

比较版本

完整来源事实

catalog

{"array_type_name":"","array_type_oid":"0","descr":"obsolete, deprecated pseudo-type","oid":"2282","typacl":"_null_","typalign":"i","typanalyze":"-","typarray":"0","typbasetype":"0","typbyval":"t","typcategory":"P","typcollation":"0","typdefault":"_null_","typdefaultbin":"_null_","typdelim":"','","typelem":"0","typinput":"opaque_in","typisdefined":"t","typispreferred":"f","typlen":"4","typmodin":"-","typmodout":"-","typname":"opaque","typnamespace":"PGNSP","typndims":"0","typnotnull":"f","typoutput":"opaque_out","typowner":"PGUID","typreceive":"-","typrelid":"0","typsend":"-","typstorage":"p","typtype":"p","typtypmod":"-1"}

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 12 · 8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b

正文语言: en · 8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b