SELECT table_name ,CASE WHEN table_type = 'BASE TABLE' THEN 'TABLE' ELSE table_type END FROM information_schema.tables WHERE table_schema NOT IN ('pg_catalog', 'information_schema') ORDER BY table_name SELECT COLUMN_NAME ,CASE WHEN IS_NULLABLE = 'Yes' AND COLUMN_DEFAULT IS NULL THEN 'true' ELSE 'false' END AS nullable ,DATA_TYPE AS type_name ,CASE WHEN CHARACTER_MAXIMUM_LENGTH IS NULL THEN 0 ELSE CHARACTER_MAXIMUM_LENGTH END as length ,CASE WHEN data_type = 'serial' THEN 'true' WHEN data_type = 'bigserial' THEN 'true' ELSE 'false' END AS identity FROM information_schema.COLUMNS WHERE TABLE_NAME = SELECT column_name FROM information_schema.table_constraints a ,information_schema.key_column_usage b WHERE a.table_name = b.table_name AND a.constraint_name = b.constraint_name AND a.constraint_type = AND a.table_name = " cfSqlType="#translateCfSqlType(listFirst(variables.tableMetadata.type_name," "))#" required="#yesNoFormat(variables.tableMetadata.nullable-1)#" length="#variables.tableMetadata.length#" primaryKey="#yesNoFormat(listFind(variables.primaryKeyList,variables.tableMetadata.column_name))#" identity="#variables.tableMetadata.identity#" />