|
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