¿Cómo se realiza el equivalente de Oracle DESCRIBE TABLE
en PostgreSQL (usando el comando psql)?
postgresql
psql
table-structure
Señor almizclero
fuente
fuente
+
es realmente embrague, como PostgreSQL 9 sólo se da la descripción en profundidad de puntos de vista cuando lo hace\d+ table_name
, en lugar de la sencilla\d table_name
psql -E
es útil para obtener el sql que implementa\d+
y similar (para usar fuera del indicador psql)Además de la forma PostgreSQL (\ d 'algo' o \ dt 'tabla' o \ ds 'secuencia' y así sucesivamente)
La forma estándar de SQL, como se muestra aquí :
Es compatible con muchos motores db.
fuente
\d+
no lo hace. Esta es la mejor respuesta OMISi desea obtenerlo de la consulta en lugar de psql, puede consultar el esquema del catálogo. Aquí hay una consulta compleja que hace eso:
Es bastante complejo, pero le muestra el poder y la flexibilidad del catálogo del sistema PostgreSQL y debería ayudarlo a alcanzar el dominio de pg_catalog ;-). Asegúrese de cambiar los% s en la consulta. El primero es Schema y el segundo es el nombre de la tabla.
fuente
format_type()
incluirá cualquier modificador asociado al tipo, por ejemplonumeric(6,2)
; mientrasinformation_schema.columns
que solo informará el tipo base denumeric
.Puede hacerlo con un comando psql slash:
También funciona para otros objetos:
Fuente: faqs.org
fuente
El equivalente psql de
DESCRIBE TABLE
es\d table
.Consulte la parte psql del manual de PostgreSQL para obtener más detalles.
fuente
\c databasename
más queuse databasename
(para aquellos que vienen de MySQL como yo :-). Sin\c databasename
primero,\d tablename
produceNo relations found.
mensaje y nada más.Esta debería ser la solución:
fuente
Puede hacer un
\d *search pattern *
asterisco para encontrar tablas que coincidan con el patrón de búsqueda que le interesa.fuente
\d *"<SubString>"*
. Es decir, las comillas dobles deben estar dentro de los asteriscos. Sin embargo, si solo desea la lista de tablas, entonces desea usarla\dt
Además de la línea de comando
\d+ <table_name>
que ya encontró, también puede usar el esquema de información para buscar los datos de la columna, usando info_schema.columnsfuente
FROM info_schema.columns
no funcionó para mí, tuve que usarlofrom information_schema.columns
, no estoy seguro si ese es un error tipográfico en su respuesta o algún problema de implementación al finalUse la siguiente instrucción SQL
Si reemplaza tbl_name y col_name, muestra el tipo de datos de la columna particular que está buscando.
fuente
Puedes usar esto:
fuente
Esta variación de la consulta (como se explica en otras respuestas) funcionó para mí.
Se describe aquí en detalle: http://www.postgresqltutorial.com/postgresql-describe-table/
fuente
En MySQL , DESCRIBE nombre_tabla
En PostgreSQL , \ d nombre_tabla
O puede usar este comando largo:
fuente
Para mejorar la consulta SQL de la otra respuesta (¡lo cual es genial!), Aquí hay una consulta revisada. También incluye nombres de restricciones, información de herencia y tipos de datos divididos en sus partes constituyentes (tipo, longitud, precisión, escala). También filtra las columnas que se han descartado (que todavía existen en la base de datos).
fuente
También puede verificar usando la consulta a continuación
Ejemplo: mi tabla tiene 2 columnas nombre y pwd. Dando captura de pantalla a continuación.
* Usando PG admin3
fuente
La mejor manera de describir una tabla como una columna, tipo, modificadores de columnas, etc.
fuente
fuente
fuente
1) TABLA DE DESCRIBA PostgreSQL usando psql
En la herramienta de línea de comando psql, \ d table_name o \ d + table_name para encontrar la información en las columnas de una tabla
2) TABLA DE DESCRIBA PostgreSQL usando información_esquema
Instrucción SELECT para consultar los nombres de columna, tipo de datos, longitud máxima de caracteres de la tabla de columnas en la base de datos de información_esquema;
SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH de INFORMATION_SCHEMA.COLUMNS donde table_name = 'tablename';
Para más información https://www.postgresqltutorial.com/postgresql-describe-table/
fuente
/ dt es el comando que enumera todas las tablas presentes en una base de datos. usando el
comando / d y / d + podemos obtener los detalles de una tabla. La sintaxis será como
* / d nombre_tabla (o) \ d + nombre_tabla
fuente
Desarrollé el siguiente script para obtener el esquema de la tabla.
fuente
||
parece ser algo así como un operador de concatenación (unir cadenas)