52.3. pg_am #

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

oid oid

Identificador da linha

amname name

Nome do método de acesso

amhandler regproc (referencia pg_proc.oid)

OID da função tratadora responsável por fornecer informações sobre o método de acesso

amtype char

t = tabela (incluindo visões materializadas), i = índice.


Nota

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


52.3.1. Veja também #

CREATE ACCESS METHOD, DROP ACCESS METHOD