diff options
Diffstat (limited to 'doc/src/sgml/man7/CREATE_ACCESS_METHOD.7')
-rw-r--r-- | doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 b/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 new file mode 100644 index 0000000..982f42d --- /dev/null +++ b/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 @@ -0,0 +1,102 @@ +'\" t +.\" Title: CREATE ACCESS METHOD +.\" Author: The PostgreSQL Global Development Group +.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> +.\" Date: 2024 +.\" Manual: PostgreSQL 16.2 Documentation +.\" Source: PostgreSQL 16.2 +.\" Language: English +.\" +.TH "CREATE ACCESS METHOD" "7" "2024" "PostgreSQL 16.2" "PostgreSQL 16.2 Documentation" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +CREATE_ACCESS_METHOD \- define a new access method +.SH "SYNOPSIS" +.sp +.nf +CREATE ACCESS METHOD \fIname\fR + TYPE \fIaccess_method_type\fR + HANDLER \fIhandler_function\fR +.fi +.SH "DESCRIPTION" +.PP +\fBCREATE ACCESS METHOD\fR +creates a new access method\&. +.PP +The access method name must be unique within the database\&. +.PP +Only superusers can define new access methods\&. +.SH "PARAMETERS" +.PP +\fIname\fR +.RS 4 +The name of the access method to be created\&. +.RE +.PP +\fIaccess_method_type\fR +.RS 4 +This clause specifies the type of access method to define\&. Only +TABLE +and +INDEX +are supported at present\&. +.RE +.PP +\fIhandler_function\fR +.RS 4 +\fIhandler_function\fR +is the name (possibly schema\-qualified) of a previously registered function that represents the access method\&. The handler function must be declared to take a single argument of type +internal, and its return type depends on the type of access method; for +TABLE +access methods, it must be +table_am_handler +and for +INDEX +access methods, it must be +index_am_handler\&. The C\-level API that the handler function must implement varies depending on the type of access method\&. The table access method API is described in +Chapter\ \&63 +and the index access method API is described in +Chapter\ \&64\&. +.RE +.SH "EXAMPLES" +.PP +Create an index access method +heptree +with handler function +heptree_handler: +.sp +.if n \{\ +.RS 4 +.\} +.nf +CREATE ACCESS METHOD heptree TYPE INDEX HANDLER heptree_handler; +.fi +.if n \{\ +.RE +.\} +.SH "COMPATIBILITY" +.PP +\fBCREATE ACCESS METHOD\fR +is a +PostgreSQL +extension\&. +.SH "SEE ALSO" +DROP ACCESS METHOD (\fBDROP_ACCESS_METHOD\fR(7)), CREATE OPERATOR CLASS (\fBCREATE_OPERATOR_CLASS\fR(7)), CREATE OPERATOR FAMILY (\fBCREATE_OPERATOR_FAMILY\fR(7)) |