|
516 | 516 | <para>
|
517 | 517 | The catalog <structname>pg_am</structname> stores information about index
|
518 | 518 | access methods. There is one row for each index access method supported by
|
519 |
| - the system. The contents of this catalog are discussed in detail in |
520 |
| - <xref linkend="indexam">. |
| 519 | + the system. The requirements for index access methods are discussed in |
| 520 | + detail in <xref linkend="indexam">. |
521 | 521 | </para>
|
522 | 522 |
|
523 | 523 | <table>
|
|
549 | 549 | </row>
|
550 | 550 |
|
551 | 551 | <row>
|
552 |
| - <entry><structfield>amstrategies</structfield></entry> |
553 |
| - <entry><type>int2</type></entry> |
554 |
| - <entry></entry> |
555 |
| - <entry>Number of operator strategies for this access method, |
556 |
| - or zero if access method does not have a fixed set of operator |
557 |
| - strategies</entry> |
558 |
| - </row> |
559 |
| - |
560 |
| - <row> |
561 |
| - <entry><structfield>amsupport</structfield></entry> |
562 |
| - <entry><type>int2</type></entry> |
563 |
| - <entry></entry> |
564 |
| - <entry>Number of support routines for this access method</entry> |
565 |
| - </row> |
566 |
| - |
567 |
| - <row> |
568 |
| - <entry><structfield>amcanorder</structfield></entry> |
569 |
| - <entry><type>bool</type></entry> |
570 |
| - <entry></entry> |
571 |
| - <entry>Does the access method support ordered scans sorted by the |
572 |
| - indexed column's value?</entry> |
573 |
| - </row> |
574 |
| - |
575 |
| - <row> |
576 |
| - <entry><structfield>amcanorderbyop</structfield></entry> |
577 |
| - <entry><type>bool</type></entry> |
578 |
| - <entry></entry> |
579 |
| - <entry>Does the access method support ordered scans sorted by the result |
580 |
| - of an operator on the indexed column?</entry> |
581 |
| - </row> |
582 |
| - |
583 |
| - <row> |
584 |
| - <entry><structfield>amcanbackward</structfield></entry> |
585 |
| - <entry><type>bool</type></entry> |
586 |
| - <entry></entry> |
587 |
| - <entry>Does the access method support backward scanning?</entry> |
588 |
| - </row> |
589 |
| - |
590 |
| - <row> |
591 |
| - <entry><structfield>amcanunique</structfield></entry> |
592 |
| - <entry><type>bool</type></entry> |
593 |
| - <entry></entry> |
594 |
| - <entry>Does the access method support unique indexes?</entry> |
595 |
| - </row> |
596 |
| - |
597 |
| - <row> |
598 |
| - <entry><structfield>amcanmulticol</structfield></entry> |
599 |
| - <entry><type>bool</type></entry> |
600 |
| - <entry></entry> |
601 |
| - <entry>Does the access method support multicolumn indexes?</entry> |
602 |
| - </row> |
603 |
| - |
604 |
| - <row> |
605 |
| - <entry><structfield>amoptionalkey</structfield></entry> |
606 |
| - <entry><type>bool</type></entry> |
607 |
| - <entry></entry> |
608 |
| - <entry>Does the access method support a scan without any constraint |
609 |
| - for the first index column?</entry> |
610 |
| - </row> |
611 |
| - |
612 |
| - <row> |
613 |
| - <entry><structfield>amsearcharray</structfield></entry> |
614 |
| - <entry><type>bool</type></entry> |
615 |
| - <entry></entry> |
616 |
| - <entry>Does the access method support <literal>ScalarArrayOpExpr</> searches?</entry> |
617 |
| - </row> |
618 |
| - |
619 |
| - <row> |
620 |
| - <entry><structfield>amsearchnulls</structfield></entry> |
621 |
| - <entry><type>bool</type></entry> |
622 |
| - <entry></entry> |
623 |
| - <entry>Does the access method support <literal>IS NULL</>/<literal>NOT NULL</> searches?</entry> |
624 |
| - </row> |
625 |
| - |
626 |
| - <row> |
627 |
| - <entry><structfield>amstorage</structfield></entry> |
628 |
| - <entry><type>bool</type></entry> |
629 |
| - <entry></entry> |
630 |
| - <entry>Can index storage data type differ from column data type?</entry> |
631 |
| - </row> |
632 |
| - |
633 |
| - <row> |
634 |
| - <entry><structfield>amclusterable</structfield></entry> |
635 |
| - <entry><type>bool</type></entry> |
636 |
| - <entry></entry> |
637 |
| - <entry>Can an index of this type be clustered on?</entry> |
638 |
| - </row> |
639 |
| - |
640 |
| - <row> |
641 |
| - <entry><structfield>ampredlocks</structfield></entry> |
642 |
| - <entry><type>bool</type></entry> |
643 |
| - <entry></entry> |
644 |
| - <entry>Does an index of this type manage fine-grained predicate locks?</entry> |
645 |
| - </row> |
646 |
| - |
647 |
| - <row> |
648 |
| - <entry><structfield>amkeytype</structfield></entry> |
| 552 | + <entry><structfield>amhandler</structfield></entry> |
649 | 553 | <entry><type>oid</type></entry>
|
650 |
| - <entry><literal><link linkend="catalog-pg-type"><structname>pg_type</structname></link>.oid</literal></entry> |
651 |
| - <entry>Type of data stored in index, or zero if not a fixed type</entry> |
652 |
| - </row> |
653 |
| - |
654 |
| - <row> |
655 |
| - <entry><structfield>aminsert</structfield></entry> |
656 |
| - <entry><type>regproc</type></entry> |
657 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
658 |
| - <entry><quote>Insert this tuple</quote> function</entry> |
659 |
| - </row> |
660 |
| - |
661 |
| - <row> |
662 |
| - <entry><structfield>ambeginscan</structfield></entry> |
663 |
| - <entry><type>regproc</type></entry> |
664 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
665 |
| - <entry><quote>Prepare for index scan</quote> function</entry> |
666 |
| - </row> |
667 |
| - |
668 |
| - <row> |
669 |
| - <entry><structfield>amgettuple</structfield></entry> |
670 |
| - <entry><type>regproc</type></entry> |
671 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
672 |
| - <entry><quote>Next valid tuple</quote> function, or zero if none</entry> |
673 |
| - </row> |
674 |
| - |
675 |
| - <row> |
676 |
| - <entry><structfield>amgetbitmap</structfield></entry> |
677 |
| - <entry><type>regproc</type></entry> |
678 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
679 |
| - <entry><quote>Fetch all valid tuples</quote> function, or zero if none</entry> |
680 |
| - </row> |
681 |
| - |
682 |
| - <row> |
683 |
| - <entry><structfield>amrescan</structfield></entry> |
684 |
| - <entry><type>regproc</type></entry> |
685 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
686 |
| - <entry><quote>(Re)start index scan</quote> function</entry> |
687 |
| - </row> |
688 |
| - |
689 |
| - <row> |
690 |
| - <entry><structfield>amendscan</structfield></entry> |
691 |
| - <entry><type>regproc</type></entry> |
692 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
693 |
| - <entry><quote>Clean up after index scan</quote> function</entry> |
694 |
| - </row> |
695 |
| - |
696 |
| - <row> |
697 |
| - <entry><structfield>ammarkpos</structfield></entry> |
698 |
| - <entry><type>regproc</type></entry> |
699 | 554 | <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
|
700 |
| - <entry><quote>Mark current scan position</quote> function</entry> |
701 |
| - </row> |
702 |
| - |
703 |
| - <row> |
704 |
| - <entry><structfield>amrestrpos</structfield></entry> |
705 |
| - <entry><type>regproc</type></entry> |
706 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
707 |
| - <entry><quote>Restore marked scan position</quote> function</entry> |
708 |
| - </row> |
709 |
| - |
710 |
| - <row> |
711 |
| - <entry><structfield>ambuild</structfield></entry> |
712 |
| - <entry><type>regproc</type></entry> |
713 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
714 |
| - <entry><quote>Build new index</quote> function</entry> |
715 |
| - </row> |
716 |
| - |
717 |
| - <row> |
718 |
| - <entry><structfield>ambuildempty</structfield></entry> |
719 |
| - <entry><type>regproc</type></entry> |
720 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
721 |
| - <entry><quote>Build empty index</quote> function</entry> |
722 |
| - </row> |
723 |
| - |
724 |
| - <row> |
725 |
| - <entry><structfield>ambulkdelete</structfield></entry> |
726 |
| - <entry><type>regproc</type></entry> |
727 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
728 |
| - <entry>Bulk-delete function</entry> |
729 |
| - </row> |
730 |
| - |
731 |
| - <row> |
732 |
| - <entry><structfield>amvacuumcleanup</structfield></entry> |
733 |
| - <entry><type>regproc</type></entry> |
734 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
735 |
| - <entry>Post-<command>VACUUM</command> cleanup function</entry> |
736 |
| - </row> |
737 |
| - |
738 |
| - <row> |
739 |
| - <entry><structfield>amcanreturn</structfield></entry> |
740 |
| - <entry><type>regproc</type></entry> |
741 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
742 |
| - <entry>Function to check whether an index column supports index-only |
743 |
| - scans. Can be zero if index-only scans are never supported.</entry> |
744 |
| - </row> |
745 |
| - |
746 |
| - <row> |
747 |
| - <entry><structfield>amcostestimate</structfield></entry> |
748 |
| - <entry><type>regproc</type></entry> |
749 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
750 |
| - <entry>Function to estimate cost of an index scan</entry> |
751 |
| - </row> |
752 |
| - |
753 |
| - <row> |
754 |
| - <entry><structfield>amoptions</structfield></entry> |
755 |
| - <entry><type>regproc</type></entry> |
756 |
| - <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry> |
757 |
| - <entry>Function to parse and validate <structfield>reloptions</> for an index</entry> |
| 555 | + <entry> |
| 556 | + OID of a handler function that is responsible for supplying information |
| 557 | + about the access method |
| 558 | + </entry> |
758 | 559 | </row>
|
759 | 560 |
|
760 | 561 | </tbody>
|
|
0 commit comments