Mostrar todas as tabelas!!!

1. Mostrar todas as tabelas!!!

Thiago Fernandes Gonzaga
thiagotj

(usa Suse)

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


  


2. Re: Mostrar todas as tabelas!!!

Thiago Fernandes Gonzaga
thiagotj

(usa Suse)

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!

Nicolas
nicknae

(usa Ubuntu)

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!!!

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

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









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts