/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
doc/src/sgml/ref/create_access_method.sgml
122 строки
3 KB
Andres Freund
tableam: basic documentation.
04 апр 2019, 03:40
04 апр 2019, 03:40
b73c3a1
Код
Авторство
О чём код?
<!-- doc/src/sgml/ref/create_access_method.sgml PostgreSQL documentation --> <refentry id="sql-create-access-method"> <indexterm zone="sql-create-access-method"> <primary>CREATE ACCESS METHOD</primary> </indexterm> <refmeta> <refentrytitle>CREATE ACCESS METHOD</refentrytitle> <manvolnum>7</manvolnum> <refmiscinfo>SQL - Language Statements</refmiscinfo> </refmeta> <refnamediv> <refname>CREATE ACCESS METHOD</refname> <refpurpose>define a new access method</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis> CREATE ACCESS METHOD <replaceable class="parameter">name</replaceable> TYPE <replaceable class="parameter">access_method_type</replaceable> HANDLER <replaceable class="parameter">handler_function</replaceable> </synopsis> </refsynopsisdiv> <refsect1> <title>Description</title> <para> <command>CREATE ACCESS METHOD</command> creates a new access method. </para> <para> The access method name must be unique within the database. </para> <para> Only superusers can define new access methods. </para> </refsect1> <refsect1> <title>Parameters</title> <variablelist> <varlistentry> <term><replaceable class="parameter">name</replaceable></term> <listitem> <para> The name of the access method to be created. </para> </listitem> </varlistentry> <varlistentry> <term><replaceable class="parameter">access_method_type</replaceable></term> <listitem> <para> This clause specifies the type of access method to define. Only <literal>TABLE</literal> and <literal>INDEX</literal> are supported at present. </para> </listitem> </varlistentry> <varlistentry> <term><replaceable class="parameter">handler_function</replaceable></term> <listitem> <para> <replaceable class="parameter">handler_function</replaceable> 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 <type>internal</type>, and its return type depends on the type of access method; for <literal>TABLE</literal> access methods, it must be <type>table_am_handler</type> and for <literal>INDEX</literal> access methods, it must be <type>index_am_handler</type>. 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 <xref linkend="tableam"/> and the index access method API is described in <xref linkend="indexam"/>. </para> </listitem> </varlistentry> </variablelist> </refsect1> <refsect1> <title>Examples</title> <para> Create an index access method <literal>heptree</literal> with handler function <literal>heptree_handler</literal>: <programlisting> CREATE ACCESS METHOD heptree TYPE INDEX HANDLER heptree_handler; </programlisting></para> </refsect1> <refsect1> <title>Compatibility</title> <para> <command>CREATE ACCESS METHOD</command> is a <productname>PostgreSQL</productname> extension. </para> </refsect1> <refsect1> <title>See Also</title> <simplelist type="inline"> <member><xref linkend="sql-drop-access-method"/></member> <member><xref linkend="sql-createopclass"/></member> <member><xref linkend="sql-createopfamily"/></member> </simplelist> </refsect1> </refentry>