# CREATE_ACCESS_METHOD(7) - man - phpMan

CREATE ACCESS [METHOD(7)](https://www.chedong.com/phpMan.php/man/METHOD/7/markdown)            PostgreSQL 14.23 Documentation            CREATE ACCESS [METHOD(7)](https://www.chedong.com/phpMan.php/man/METHOD/7/markdown)



## NAME
       CREATE_ACCESS_METHOD - define a new access method

## SYNOPSIS
       CREATE ACCESS METHOD _name_
           TYPE _access_method_type_
           HANDLER _handler_function_

## DESCRIPTION
       **CREATE** **ACCESS** **METHOD** creates a new access method.

       The access method name must be unique within the database.

       Only superusers can define new access methods.

## PARAMETERS
       _name_
           The name of the access method to be created.

       _access_method_type_
           This clause specifies the type of access method to define. Only TABLE and INDEX are
           supported at present.

       _handler_function_
           _handler_function_ 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 61 and the index access method API is described in Chapter 62.

## EXAMPLES
       Create an index access method heptree with handler function heptree_handler:

           CREATE ACCESS METHOD heptree TYPE INDEX HANDLER heptree_handler;

## COMPATIBILITY
       **CREATE** **ACCESS** **METHOD** is a PostgreSQL extension.

## SEE ALSO
       DROP ACCESS METHOD (**DROP**___**ACCESS**___**[METHOD**(7)](https://www.chedong.com/phpMan.php/man/METHOD/7/markdown)), CREATE OPERATOR CLASS (**CREATE**___**OPERATOR**___**[CLASS**(7)](https://www.chedong.com/phpMan.php/man/CLASS/7/markdown)),
       CREATE OPERATOR FAMILY (**CREATE**___**OPERATOR**___**[FAMILY**(7)](https://www.chedong.com/phpMan.php/man/FAMILY/7/markdown))



PostgreSQL 14.23                                2026                         CREATE ACCESS [METHOD(7)](https://www.chedong.com/phpMan.php/man/METHOD/7/markdown)
