Find all string (character) columns in PostgreSQL database

String in PostgreSQL are columns with the following data types: character varying, character, binary, text, "char", name.

The query below lists all columns with string data types.

Query

select col.table_schema,
       col.table_name,
       col.ordinal_position as column_id,
       col.column_name,
       col.data_type,
       col.character_maximum_length as maximum_length
from information_schema.columns col
join information_schema.tables tab on tab.table_schema = col.table_schema
                                   and tab.table_name = col.table_name
                                   and tab.table_type = 'BASE TABLE'
 where col.data_type in ('character varying', 'character',
                         'text', '"char"', 'name')
      and col.table_schema not in ('information_schema', 'pg_catalog')
order by col.table_schema,
         col.table_name,
         col.ordinal_position;

Columns

  • table_schema - name of the schema
  • table_name - name of the table
  • column_id - column position in table
  • column_name - name of the column
  • data_type - type of data
  • maximum_length - maximum length in characters

Rows

  • One row represents one column with a string data type
  • Scope of rows: all columns containing string data types in the schema
  • Ordered by schema name, table name and position in table

Sample results

Comments are only visible when the visitor has consented to statistics cookies. To see and add comments please accept statistics cookies.
0
There are no comments. Click here to write the first comment.