查看Greenplum集群中的创建的类型
SELECT
(current_database()) :: information_schema.sql_identifier AS udt_catalog,
(nc.nspname) :: information_schema.sql_identifier AS udt_schema,
(C .relname) :: information_schema.sql_identifier AS udt_name,
(A .attname) :: information_schema.sql_identifier AS attribute_name,
(A .attnum) :: information_schema.cardinal_number AS ordinal_position,
(
pg_get_expr (ad.adbin, ad.adrelid)
) :: information_schema.character_data AS attribute_default,
(
CASE
WHEN (
A .attnotnull
OR (
(T .typtype = 'd' :: "char")
AND T .typnotnull
)
) THEN
'NO' :: TEXT
ELSE
'YES' :: TEXT
END
) :: information_schema.character_data AS is_nullable,
(
CASE
WHEN (
(T .typelem <>(0) :: oid)
AND (T .typlen =(- 1))
) THEN
'ARRAY' :: TEXT
WHEN (
nt.nspname = 'pg_catalog' :: NAME
) THEN
format_type (A .atttypid, NULL :: INTEGER)
ELSE
'USER-DEFINED' :: TEXT
END
) :: information_schema.character_data AS data_type,
(
information_schema._pg_char_max_length (
information_schema._pg_truetypid (A .*, T .*),
information_schema._pg_truetypmod (A .*, T .*)
)
) :: information_schema.cardinal_number AS character_maximum_length,
(
information_schema._pg_char_octet_length (
information_schema._pg_truetypid (A .*, T .*),
information_schema._pg_truetypmod (A .*, T .*)
)
) :: information_schema.cardinal_number AS character_octet_length,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS CHARACTER_SET_CATALOG,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS CHARACTER_SET_SCHEMA,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS CHARACTER_SET_NAME,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS COLLATION_CATALOG,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS COLLATION_SCHEMA,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS COLLATION_NAME,
(
information_schema._pg_numeric_precision (
information_schema._pg_truetypid (A .*, T .*),
information_schema._pg_truetypmod (A .*, T .*)
)
) :: information_schema.cardinal_number AS numeric_precision,
(
information_schema._pg_numeric_precision_radix (
information_schema._pg_truetypid (A .*, T .*),
information_schema._pg_truetypmod (A .*, T .*)
)
) :: information_schema.cardinal_number AS numeric_precision_radix,
(
information_schema._pg_numeric_scale (
information_schema._pg_truetypid (A .*, T .*),
information_schema._pg_truetypmod (A .*, T .*)
)
) :: information_schema.cardinal_number AS numeric_scale,
(
information_schema._pg_datetime_precision (
information_schema._pg_truetypid (A .*, T .*),
information_schema._pg_truetypmod (A .*, T .*)
)
) :: information_schema.cardinal_number AS datetime_precision,
(NULL :: CHARACTER VARYING) :: information_schema.character_data AS interval_type,
(NULL :: CHARACTER VARYING) :: information_schema.character_data AS interval_precision,
(current_database()) :: information_schema.sql_identifier AS attribute_udt_catalog,
(nt.nspname) :: information_schema.sql_identifier AS attribute_udt_schema,
(T .typname) :: information_schema.sql_identifier AS attribute_udt_name,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS SCOPE_CATALOG,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS SCOPE_SCHEMA,
(NULL :: CHARACTER VARYING) :: information_schema.sql_identifier AS SCOPE_NAME,
(NULL :: INTEGER) :: information_schema.cardinal_number AS maximum_cardinality,
(A .attnum) :: information_schema.sql_identifier AS dtd_identifier,
('NO' :: CHARACTER VARYING) :: information_schema.character_data AS is_derived_reference_attribute
FROM
(
pg_attribute A
LEFT JOIN pg_attrdef ad ON (
(
(A .attrelid = ad.adrelid)
AND (A .attnum = ad.adnum)
)
)
),
pg_class C,
pg_namespace nc,
(
pg_type T
JOIN pg_namespace nt ON ((T .typnamespace = nt.oid))
)
WHERE
(
(
(
(
(
(A .attrelid = C .oid)
AND (A .atttypid = T .oid)
)
AND (nc.oid = C .relnamespace)
)
AND (A .attnum > 0)
)
AND (NOT A .attisdropped)
)
AND (C .relkind = 'c' :: "char")
);