Mostrar información de una tabla PostgreSQL desde una consulta

Muchas veces ocurre, por lo menos a mi me pasa, que necesitamos obtener información sobre las columnas de una tabla PostgreSQL, o incluso la definición y para realizar esto lo hacemos desde una instrucción psql , con psql \d , pero es cierto que para ejecutar esta instrucción, necesitamos acceder al servidor , entrar a psql con nuestro usuario de postgreSQL y ejecutar el comando.

O incluso otra opción es hacerlo desde una herramienta como pgadmin, aunque debo indicar que desde hacer algún tiempo con las últimas actualizaciones del programa pgadmin4 en mi equipo Ubuntu, al hacer clic en una tabla y mostrar información no lo hace , se queda dando vueltas y da un error.

Pues bien, podemos ejecutar una consulta directamente desde nuestra consola postgreSQL en pgadmin4 por ejemplo para mostrar esta información y que nos liste todos los campos de esa tabla con la información de tipos de datos, tamaño de campos,…

La consulta en cuestión sería esta:

select * from information_schema.columns where table_name = <nombre_de_la_tabla>

Y la información que se nos muestra tras la ejecución de la consulta sería toda la información de la tabla: table_catalog, table_schema, table_name,column_name, ordinal_position,column_default, is_nullable, data_type, character_maximum_length , character_octet_length , numeric_precision , numeric_precision_radix, numeric_scale, datetime_precision , interval_type , interval_precision  , character_set_catalog , character_set_schema , character_set_name , collation_catalog , collation_schema , collation_name , domain_catalog , domain_schema, domain_name , udt_catalog , udt_schema , udt_name,scope_catalog ,  scope_schema,scope_name, maximum_cardinality , dtd_identifier , is_self_referencing, is_identity , identity_generation , identity_start , identity_increment , identity_maximum , identity_minimum , identity_cycle , is_generated , generation_expression , is_updatable.

Información muy útil, no toda la información será de uso habitual, está claro, pero a mi me sirve mucho para averiguar las longitudes máximas de los campos, y para esto el campo character_maximum_length es vital.

La instrucción básica de uso habitual que suelo ejecutar es:

select column_name, data_type, character_maximum_length, is_nullable from information_schema.columns where table_name = ‘<nombre_de_tabla>’;

 

 

 

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.