O catálogo pg_am armazena informações sobre métodos de acesso a relações. Há uma linha para cada método de acesso com suporte pelo sistema. No momento, apenas tabelas e índices possuem métodos de acesso. Os requisitos para métodos de acesso a tabelas e índices são discutidos detalhadamente em Definição da interface do método de acesso à tabela e Definição da interface do método de acesso a índice, respectivamente.
Tabela 52.3. Colunas de pg_am
Coluna Tipo de dados Descrição |
|---|
Identificador da linha |
Nome do método de acesso |
OID da função tratadora responsável por fornecer informações sobre o método de acesso |
|
Antes do PostgreSQL 9.6,
pg_am continha muitas colunas
adicionais representando propriedades de método de acesso a índice.
Estes dados agora só são visíveis diretamente no nível do código
C.
Entretanto, pg_index_column_has_property(),
e funções relacionadas, foram adicionadas para permitir que consultas
SQL inspecionem propriedades do método de acesso
a índice; veja a Tabela 9.76.
Exemplo 52.2. Exemplo do tradutor
Métodos de acesso a relações
Uso do catálogo pg_am
para mostrar os métodos de acesso a relações definidos,
e uso também do meta-comando \dAx+ do
psql para mostrar estes mesmos
métodos de acesso.
ana=> SELECT * FROM pg_am;
oid | amname | amhandler | amtype
------+--------+----------------------+--------
2 | heap | heap_tableam_handler | t
403 | btree | bthandler | i
405 | hash | hashhandler | i
783 | gist | gisthandler | i
2742 | gin | ginhandler | i
4000 | spgist | spghandler | i
3580 | brin | brinhandler | i
(7 linhas)
ana=> \dAx+
Lista de métodos de acesso -[ RECORD 1 ]------------------------------------- Nome | brin Tipo | Índice Tratador | brinhandler Descrição | block range index (BRIN) access method -[ RECORD 2 ]------------------------------------- Nome | btree Tipo | Índice Tratador | bthandler Descrição | b-tree index access method -[ RECORD 3 ]------------------------------------- Nome | gin Tipo | Índice Tratador | ginhandler Descrição | GIN index access method -[ RECORD 4 ]------------------------------------- Nome | gist Tipo | Índice Tratador | gisthandler Descrição | GiST index access method -[ RECORD 5 ]------------------------------------- Nome | hash Tipo | Índice Tratador | hashhandler Descrição | hash index access method -[ RECORD 6 ]------------------------------------- Nome | heap Tipo | Tabela Tratador | heap_tableam_handler Descrição | heap table access method -[ RECORD 7 ]------------------------------------- Nome | spgist Tipo | Índice Tratador | spghandler Descrição | SP-GiST index access method