Tabelas e comandos de sistema no Aurora DSQL - Amazon Aurora DSQL

Tabelas e comandos de sistema no Aurora DSQL

Consulte as seções a seguir para saber mais sobre tabelas e catálogos de sistema compatíveis no Aurora DSQL.

Tabelas de sistema

O Aurora DSQL é compatível com o PostgreSQL; portanto, muitas tabelas de catálogo do sistema e visualizações do PostgreSQL também existem no Aurora DSQL.

Tabelas de catálogo e visualizações importantes do PostgreSQL

A tabela a seguir descreve as tabelas e visualizações mais comuns que você pode usar no Aurora DSQL.

Nome Descrição

pg_namespace

Informações sobre todos os esquemas

pg_tables

Informações sobre todas as tabelas

pg_attribute

Informações sobre todos os atributos

pg_views

Informações sobre visualizações (pre)definidas

pg_class

Descreve todas as tabelas, colunas, índices e objetos semelhantes

pg_stats

Uma visualização das estatísticas do planejador

pg_user

Informações sobre usuários

pg_roles

Informações sobre usuários e grupos

pg_indexes

Lista todos os índices

pg_constraint

Lista as restrições nas tabelas

Tabelas de catálogo aceitas e não aceitas

A tabela a seguir indica quais tabelas são aceitas e não aceitas no Aurora DSQL.

Name Aplicável ao Aurora DSQL

pg_aggregate

Não

pg_am

Sim

pg_amop

Não

pg_amproc

Não

pg_attrdef

Sim

pg_attribute

Sim

pg_authid

Não (use pg_roles)

pg_auth_members

Sim

pg_cast

Sim

pg_class

Sim

pg_collation

Sim

pg_constraint

Sim

pg_conversion

Não

pg_database

Não

pg_db_role_setting

Sim

pg_default_acl

Sim

pg_depend

Sim

pg_description

Sim

pg_enum

Não

pg_event_trigger

Não

pg_extension

Não

pg_foreign_data_wrapper

Não

pg_foreign_server

Não

pg_foreign_table

Não

pg_index

Sim

pg_inherits

Sim

pg_init_privs

Não

pg_language

Não

pg_largeobject

Não

pg_largeobject_metadata

Sim

pg_namespace

Sim

pg_opclass

Não

pg_operator

Sim

pg_opfamily

Não

pg_parameter_acl

Sim

pg_partitioned_table

Não

pg_policy

Não

pg_proc

Não

pg_publication

Não

pg_publication_namespace

Não

pg_publication_rel

Não

pg_range

Sim

pg_replication_origin

Não

pg_rewrite

Não

pg_seclabel

Não

pg_sequence

Não

pg_shdepend

Sim

pg_shdescription

Sim

pg_shseclabel

Não

pg_statistic

Sim

pg_statistic_ext

Não

pg_statistic_ext_data

Não

pg_subscription

Não

pg_subscription_rel

Não

pg_tablespace

Não

pg_transform

Não

pg_trigger

Não

pg_ts_config

Sim

pg_ts_config_map

Sim

pg_ts_dict

Sim

pg_ts_parser

Sim

pg_ts_template

Sim

pg_type

Sim

pg_user_mapping

Não

Visualizações do sistema aceitas e não aceitas

A tabela a seguir indica quais visualizações são aceitas e não aceitas no Aurora DSQL.

Name Aplicável ao Aurora DSQL

pg_available_extensions

Não

pg_available_extension_versions

Não

pg_backend_memory_contexts

Sim

pg_config

Não

pg_cursors

Não

pg_file_settings

Não

pg_group

Sim

pg_hba_file_rules

Não

pg_ident_file_mappings

Não

pg_indexes

Sim

pg_locks

Não

pg_matviews

Não

pg_policies

Não

pg_prepared_statements

Não

pg_prepared_xacts

Não

pg_publication_tables

Não

pg_replication_origin_status

Não

pg_replication_slots

Não

pg_roles

Sim

pg_rules

Não

pg_seclabels

Não

pg_sequences

Não

pg_settings

Sim

pg_shadow

Sim

pg_shmem_allocations

Sim

pg_stats

Sim

pg_stats_ext

Não

pg_stats_ext_exprs

Não

pg_tables

Sim

pg_timezone_abbrevs

Sim

pg_timezone_names

Sim

pg_user

Sim

pg_user_mappings

Não

pg_views

Sim

pg_stat_activity

Não

pg_stat_replication

Não

pg_stat_replication_slots

Não

pg_stat_wal_receiver

Não

pg_stat_recovery_prefetch

Não

pg_stat_subscription

Não

pg_stat_subscription_stats

Não

pg_stat_ssl

Sim

pg_stat_gssapi

Não

pg_stat_archiver

Não

pg_stat_io

Não

pg_stat_bgwriter

Não

pg_stat_wal

Não

pg_stat_database

Não

pg_stat_database_conflicts

Não

pg_stat_all_tables

Não

pg_stat_all_indexes

Não

pg_statio_all_tables

Não

pg_statio_all_indexes

Não

pg_statio_all_sequences

Não

pg_stat_slru

Não

pg_statio_user_tables

Não

pg_statio_user_sequences

Não

pg_stat_user_functions

Não

pg_stat_user_indexes

Não

pg_stat_progress_analyze

Não

pg_stat_progress_basebackup

Não

pg_stat_progress_cluster

Não

pg_stat_progress_create_index

Não

pg_stat_progress_vacuum

Não

pg_stat_sys_indexes

Não

pg_stat_sys_tables

Não

pg_stat_xact_all_tables

Não

pg_stat_xact_sys_tables

Não

pg_stat_xact_user_functions

Não

pg_stat_xact_user_tables

Não

pg_statio_sys_indexes

Não

pg_statio_sys_sequences

Não

pg_statio_sys_tables

Não

pg_statio_user_indexes

Não

As visualizações sys.jobs e sys.iam_pg_role_mappings

O Aurora DSQL não aceita as seguintes visualizações do sistema:

sys.jobs

sys.jobs fornece informações sobre o status dos trabalhos assíncronos. Por exemplo, após a criação de um índice assíncrono, o Aurora DSQL exibe um job_uuid. Você pode usar esse job_uuid com sys.jobs para pesquisar o status do trabalho.

SELECT * FROM sys.jobs WHERE job_id = 'example_job_uuid'; job_id | status | details ------------------+------------+--------- example_job_uuid | processing | (1 row)
sys.iam_pg_role_mappings

A visualização sys.iam_pg_role_mappings fornece informações sobre as permissões concedidas aos usuários do IAM. Por exemplo, se DQSLDBConnect for um perfil do IAM que dá ao Aurora DSQL acesso a não administradores e um usuário chamado testuser receber o perfil DQSLDBConnect e as permissões correspondentes, você poderá consultar a visualização sys.iam_pg_role_mappings para ver quais usuários recebem quais permissões.

SELECT * FROM sys.iam_pg_role_mappings;

A tabela pg_class

A tabela pg_class armazena metadados sobre objetos do banco de dados. Para obter a contagem aproximada de linhas que estão em uma tabela, execute o comando a seguir.

SELECT reltuples FROM pg_class WHERE relname = 'table_name';

Esse comando retorna uma saída semelhante à seguinte.

  reltuples
--------------
 9.993836e+08

O comando ANALYZE

O comando ANALYZE coleta estatísticas sobre o conteúdo das tabelas no banco de dados e armazena os resultados na visualização de sistema pg_stats. Posteriormente, o planejador de consultas usa essas estatísticas para ajudar a determinar os planos de execução mais eficientes para as consultas.

No Aurora DSQL, não é possível executar o comando ANALYZE em uma transação explícita. ANALYZE não está sujeito ao limite de tempo da transação do banco de dados.

Para reduzir a necessidade de intervenção manual e manter as estatísticas sempre atualizadas, o Aurora DSQL executa automaticamente ANALYZE como um processo em segundo plano. Esse trabalho em segundo plano é acionado automaticamente com base na taxa de alteração observada na tabela. Ele está vinculado ao número de linhas (tuplas) que foram inseridas, atualizadas ou excluídas desde a última análise.

ANALYZE é executado de forma assíncrona em segundo plano e sua atividade pode ser monitorada na visualização de sistema sys.jobs com a seguinte consulta:

SELECT * FROM sys.jobs WHERE job_type = 'ANALYZE';

Considerações importantes

nota

Os trabalhos ANALYZE são cobrados como outros trabalhos assíncronos no Aurora DSQL. Quando você modifica uma tabela, isso pode acionar indiretamente um trabalho automático de coleta de estatísticas em segundo plano, o que pode resultar em cobranças de medição devido à atividade associada no nível do sistema.

Os trabalhos ANALYZE em segundo plano, acionados automaticamente, coletam os mesmos tipos de estatística de um ANALYZE manual e os aplicam por padrão às tabelas do usuário. As tabelas de sistema e de catálogo são excluídas desse processo automatizado.