Pular para o conteúdo

Mostrar todas as tabelas!!!

Responder tópico
  • Denunciar
  • Indicar

1. Mostrar todas as tabelas!!!

Enviado em 02/12/2008 - 10:14h

Pessoal,
Como posso fazer para dar uma espécie de "Select" mas que me retorne todas as tabelas que existe na base em que estou conectada ???

Desde já agradeço a ajuda

Abraços
Thiago

Responder tópico

2. Re: Mostrar todas as tabelas!!!

Enviado em 02/12/2008 - 10:23h

Acabei encontrando o comando, então resolvi postar aqui, pois pode ajudar alguém ...
De uma maneira mais "grossa" seria assim:

Select * from pg_tables

Esse Select vai retornar 7 colunas e uma delas é a "tableowner", que é o Dono da table, então pode-se fazer restrições no Select como por exemplo:

Select * from pg_tables Where tableowner = 'postgres'

Espero que ajude alguém ...

Abraços
Thiago

3. Muito Obrigado!

Enviado em 05/12/2011 - 11:58h

Vasculhei o google quase todo e não tinha encontrado nada que resolvesse essa questão pra mim, até achar seu tópico.
Fiz um cadastro no site só pra agradecer.

"Brigadão"

att.
Nicolas Anderson

instrutor.nicolas@hotmail.com

4. Re: Mostrar todas as tabelas!!!

Enviado em 06/12/2011 - 18:54h

Existe a opção \d tb!

banco_teste=# \d
List of relations
Schema | Name | Type | Owner
--------+--------------------+-------+----------
public | pg_bloat | view | postgres
public | produtos | table | fdmarp
public | setor | table | fdmarp
public | subsetor | table | fdmarp
public | teste | table | fdmarp



Só uma curiosidade ... se você utilizar a opção -E do psql ele te retorna a query que ele fez para obter o \d.

ex.:

psql -E banco_teste

banco_teste=# \d
********* QUERY **********
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','v','S','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************

List of relations
Schema | Name | Type | Owner
--------+--------------------+-------+----------
public | pg_bloat | view | postgres
public | produtos | table | fdmarp
public | setor | table | fdmarp
public | subsetor | table | fdmarp
public | teste | table | fdmarp



Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder