Como você executa o equivalente ao Oracle DESCRIBE TABLE
no PostgreSQL (usando o comando psql)?
postgresql
psql
table-structure
Mr. Muskrat
fonte
fonte
+
é realmente embreagem, como PostgresSQL 9 só dá a descrição detalhada para vistas quando o fizer\d+ table_name
, ao invés do simples\d table_name
psql -E
é útil para obter o sql que implementos\d+
e similares (para uso fora do psql prompt)Além da maneira do PostgreSQL (\ d 'something' ou \ dt 'table' ou \ ds 'sequence' e assim por diante)
A maneira padrão do SQL, como mostrado aqui :
É suportado por muitos mecanismos de banco de dados.
fonte
\d+
não. Esta é a melhor resposta IMOSe você deseja obtê-lo da consulta em vez do psql, pode consultar o esquema do catálogo. Aqui está uma consulta complexa que faz isso:
É bastante complexo, mas mostra o poder e a flexibilidade do catálogo do sistema PostgreSQL e deve levá-lo a caminho do domínio pg_catalog ;-). Certifique-se de alterar os% s na consulta. O primeiro é o esquema e o segundo é o nome da tabela.
fonte
format_type()
incluirá qualquer modificador anexado ao tipo, por exemplonumeric(6,2)
; enquantoinformation_schema.columns
que apenas informará o tipo base denumeric
.Você pode fazer isso com um comando psql slash:
Também funciona para outros objetos:
Fonte: faqs.org
fonte
O equivalente psql de
DESCRIBE TABLE
é\d table
.Veja a parte psql do manual do PostgreSQL para mais detalhes.
fonte
\c databasename
mais queuse databasename
(para aqueles que vêm do MySQL como eu :-). Sem\c databasename
primeiro,\d tablename
produzNo relations found.
mensagem e nada mais.Esta deve ser a solução:
fonte
Você pode fazer um
\d *search pattern *
asterisco para encontrar tabelas que correspondam ao padrão de pesquisa em que você está interessado.fonte
\d *"<SubString>"*
. Ou seja, as aspas duplas devem estar dentro dos asteriscos. Embora, se você quiser apenas a lista de tabelas, então você quer usar\dt
Além da linha de comando que
\d+ <table_name>
você já encontrou, você também pode usar o esquema de informações para procurar os dados da coluna, usando info_schema.columnsfonte
FROM info_schema.columns
não funcionou para mim, eu tive que usarfrom information_schema.columns
, não tenho certeza se isso é um erro de digitação na sua resposta ou algum problema de implementação ao final.Use a seguinte instrução SQL
Se você substituir tbl_name e col_name, ele exibirá o tipo de dados da coluna específica que você está procurando.
fonte
Você pode usar isto:
fonte
Essa variação da consulta (conforme explicado em outras respostas) funcionou para mim.
É descrito aqui em detalhes: http://www.postgresqltutorial.com/postgresql-describe-table/
fonte
No MySQL , DESCRIBE table_name
No PostgreSQL , \ d nome_tabela
Ou, você pode usar este comando longo:
fonte
Para melhorar a consulta SQL da outra resposta (o que é ótimo!), Aqui está uma consulta revisada. Também inclui nomes de restrições, informações sobre herança e tipos de dados divididos em suas partes constituintes (tipo, comprimento, precisão, escala). Ele também filtra as colunas que foram eliminadas (que ainda existem no banco de dados).
fonte
Você também pode verificar usando a consulta abaixo
Exemplo: Minha tabela possui 2 colunas, nome e senha. Dando screenshot abaixo.
* Usando PG admin3
fonte
A melhor maneira de descrever uma tabela, como uma coluna, tipo, modificadores de colunas, etc.
fonte
fonte
fonte
1) PostgreSQL DESCRIBE TABLE usando psql
Na ferramenta de linha de comando psql, \ d nome_tabela ou \ d + nome_tabela para encontrar as informações nas colunas de uma tabela
2) PostgreSQL DESCRIBE TABLE usando information_schema
Instrução SELECT para consultar o nome da coluna, o tipo de dados e o comprimento máximo de caracteres da tabela de colunas no banco de dados information_schema;
SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH de INFORMATION_SCHEMA.COLUMNS em que table_name = 'tablename';
Para mais informações https://www.postgresqltutorial.com/postgresql-describe-table/
fonte
/ dt é o nômade que lista todas as tabelas presentes em um banco de dados. Usando o
comando / d e / d +, podemos obter os detalhes de uma tabela. O sysntax será como
* / d nome_tabela (ou) \ d + nome_tabela
fonte
Eu trabalhei no seguinte script para obter o esquema da tabela.
fonte
||
parece ser algo como um operador de concatenação (juntando cordas juntos)