<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >pg_am</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 9.0.15 Documentation" HREF="index.html"><LINK REL="UP" TITLE="System Catalogs" HREF="catalogs.html"><LINK REL="PREVIOUS" TITLE="pg_aggregate" HREF="catalog-pg-aggregate.html"><LINK REL="NEXT" TITLE="pg_amop" HREF="catalog-pg-amop.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2014-01-24T13:16:52"></HEAD ><BODY CLASS="SECT1" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="5" ALIGN="center" VALIGN="bottom" ><A HREF="index.html" >PostgreSQL 9.0.15 Documentation</A ></TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A TITLE="pg_aggregate" HREF="catalog-pg-aggregate.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="catalogs.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" >Chapter 45. System Catalogs</TD ><TD WIDTH="20%" ALIGN="right" VALIGN="top" ><A TITLE="pg_amop" HREF="catalog-pg-amop.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="CATALOG-PG-AM" >45.3. <TT CLASS="STRUCTNAME" >pg_am</TT ></A ></H1 ><P > The catalog <TT CLASS="STRUCTNAME" >pg_am</TT > stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in <A HREF="indexam.html" >Chapter 51</A >. </P ><DIV CLASS="TABLE" ><A NAME="AEN78243" ></A ><P ><B >Table 45-3. <TT CLASS="STRUCTNAME" >pg_am</TT > Columns</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >Name</TH ><TH >Type</TH ><TH >References</TH ><TH >Description</TH ></TR ></THEAD ><TBODY ><TR ><TD ><TT CLASS="STRUCTFIELD" >amname</TT ></TD ><TD ><TT CLASS="TYPE" >name</TT ></TD ><TD > </TD ><TD >Name of the access method</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amstrategies</TT ></TD ><TD ><TT CLASS="TYPE" >int2</TT ></TD ><TD > </TD ><TD >Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amsupport</TT ></TD ><TD ><TT CLASS="TYPE" >int2</TT ></TD ><TD > </TD ><TD >Number of support routines for this access method</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amcanorder</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Does the access method support ordered scans?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amcanbackward</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Does the access method support backward scanning?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amcanunique</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Does the access method support unique indexes?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amcanmulticol</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Does the access method support multicolumn indexes?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amoptionalkey</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Does the access method support a scan without any constraint for the first index column?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amindexnulls</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Does the access method support null index entries?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amsearchnulls</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Does the access method support <TT CLASS="LITERAL" >IS NULL</TT >/<TT CLASS="LITERAL" >NOT NULL</TT > searches?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amstorage</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Can index storage data type differ from column data type?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amclusterable</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD > </TD ><TD >Can an index of this type be clustered on?</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amkeytype</TT ></TD ><TD ><TT CLASS="TYPE" >oid</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-type.html" ><TT CLASS="STRUCTNAME" >pg_type</TT ></A >.oid</TT ></TD ><TD >Type of data stored in index, or zero if not a fixed type</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >aminsert</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"Insert this tuple"</SPAN > function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >ambeginscan</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"Start new scan"</SPAN > function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amgettuple</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"Next valid tuple"</SPAN > function, or zero if none</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amgetbitmap</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"Fetch all valid tuples"</SPAN > function, or zero if none</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amrescan</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"Restart this scan"</SPAN > function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amendscan</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"End this scan"</SPAN > function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >ammarkpos</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"Mark current scan position"</SPAN > function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amrestrpos</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"Restore marked scan position"</SPAN > function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >ambuild</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD ><SPAN CLASS="QUOTE" >"Build new index"</SPAN > function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >ambulkdelete</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD >Bulk-delete function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amvacuumcleanup</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD >Post-<TT CLASS="COMMAND" >VACUUM</TT > cleanup function</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amcostestimate</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD >Function to estimate cost of an index scan</TD ></TR ><TR ><TD ><TT CLASS="STRUCTFIELD" >amoptions</TT ></TD ><TD ><TT CLASS="TYPE" >regproc</TT ></TD ><TD ><TT CLASS="LITERAL" ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A >.oid</TT ></TD ><TD >Function to parse and validate <TT CLASS="STRUCTFIELD" >reloptions</TT > for an index</TD ></TR ></TBODY ></TABLE ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="catalog-pg-aggregate.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="catalog-pg-amop.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><TT CLASS="STRUCTNAME" >pg_aggregate</TT ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="catalogs.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><TT CLASS="STRUCTNAME" >pg_amop</TT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >