Questão FC369617
Gabriela é a administradora dos bancos de dados gerenciados pelo PostgreSQL de uma instituição. Ela está monitorando o espaço em disco utilizado por algumas tabelas dos bancos de d
Sistema de Gerenciamento de Banco de Dados (SGBD)
FGV · 2024
Gabriela é a administradora dos bancos de dados gerenciados pelo PostgreSQL de uma instituição. Ela está monitorando o espaço em disco utilizado por algumas tabelas dos bancos de dados por meio da inspeção do catálogo do sistema, que foi recentemente atualizado por outra operação.
Gabriela está usando o seguinte comando SQL:
- SELECT relpages FROM pg_class WHERE relname = 'mytable';
- SELECT relsize FROM pg_database WHERE relname = 'mytable';
- SELECT tabsize FROM pg_relations WHERE tabname = 'mytable';
- SELECT * FROM pg_table_size WHERE tabname = 'mytable';
- SELECT relation FROM pg_data WHERE relname = 'mytable'.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
A consulta SELECT relpages FROM pg_class WHERE relname = 'mytable'; lê do catálogo do sistema a coluna relpages, que registra o número de páginas (blocos) alocadas para a relação identificada por relname.
Cada valor retornado representa quantas páginas o PostgreSQL acredita que a tabela ocupa. Para converter em bytes, multiplica‑se pelo block size do servidor: \( \text{bytes} = \text{relpages} \times \text{block\_size} \). O padrão é 8192 bytes, mas pode variar conforme compilação.
Como o enunciado diz que o catálogo foi recentemente atualizado por outra operação, o campo relpages deve refletir essa atualização; caso contrário, operações como VACUUM ou ANALYZE atualizam esse contador. Essa consulta é direta e eficiente para monitorar espaço em disco a partir do catálogo.
Conteúdo do catálogo FC Concursos · Atualizado em