Jump to content

Consultando metadados do PostgreSQL


Thanael

Postagens Recomendadas

  • Pessoal da TecnoSpeed

Antes de iniciarmos a consultar os metadados do PostgreSQL através do SQL, vamos entender de fato o que são esses metadados

Metadados

Vou deixar aqui a definição que o site WikiBooks traz sobre o tema.

"Metadados são dados sobre dados.
Uma consulta normal retorna informações existentes em tabelas, já uma consulta sobre os metadados retorna informações sobre os bancos, os objetos dos bancos, os campos de tabelas, seus tipos de dados, seus atributos, suas constraints, etc"

Creio que essa definição por si só já explica o suficiente para entendermos sobre metadados, mas ...
"Blza Thanael. Entendi o que são Metadados, porém como isso pode me ajudar ?"

Por que usar os metadados

Vou explicar alguns casos onde essas informações podem ser uteis.

  • Automatizar documentações: Podemos obter informações sobre as estruturas das tabelas, por exemplo obter as colunas, tipo de dados, constraints etc. Com isso pode criar um HTML dinâmico para criar documentações dessas tabelas.
  • Criar Dashboards sobre a estrutura do seu banco de dados: Podemos obter informações importantes como, quantidade de tabelas, tamanho das tabelas entre outras informações.

As possibilidades do que podemos fazer são varias, vai depender da sua criatividade e de quais perguntas esteja tentando responder.

Como visualizar os Metadados

Dentro do PostgreSQL existem determinadas tabelas que realizam o armazenamento dessas informações, tabelas por exemplo que começam com pg_catalog.alguma_coisa
Exemplo :  (pg_catalog.pg_namespacepg_catalog.pg_namespace, pg_catalog.pg_tables)

  • Exemplo de como visualizar todas as tabelas de um Schema
    select * from pg_catalog.pg_tables pt 
    where schemaname = 'public'

    image.png

  • Exemplo de como verificar o tamanho das tabelas

    select 
    	pt.schemaname,
    	pt.tablename,
    	pg_size_pretty(pg_relation_size(pg_catalog.pg_class.oid)) AS table_size
    from pg_catalog.pg_tables pt 
    left join pg_catalog.pg_class 
    	on pg_catalog.pg_class.relname = pt.tablename 
    where schemaname = 'public'
    order by 3 desc

    image.png

Considerações

O objetivo aqui é apresenta-los aos metadados para que saibam que eles existem e a partir disso usarem sua criatividade para descobrir que tipo de perguntas podem responder com eles.

Já conhece sobre Metadados ? Sinta-se a vontade para deixar nos comentários casos de uso onde usou metadados do PostgreSQL ou outra aplicação.

  • Curtir 2
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...