diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index 77a00cde9bd..85044761d0c 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -488,8 +488,13 @@
interval_precision
- character_data
- Not yet implemented
+ cardinal_number
+
+ Applies to a feature not available
+ in PostgreSQL
+ (see datetime_precision for the fractional
+ seconds precision of interval type attributes)
+
@@ -1343,8 +1348,13 @@
interval_precision
- character_data
- Not yet implemented
+ cardinal_number
+
+ Applies to a feature not available
+ in PostgreSQL
+ (see datetime_precision for the fractional
+ seconds precision of interval type columns)
+
@@ -2139,8 +2149,13 @@
interval_precision
- character_data
- Not yet implemented
+ cardinal_number
+
+ Applies to a feature not available
+ in PostgreSQL
+ (see datetime_precision for the fractional
+ seconds precision of interval type domains)
+
@@ -2400,7 +2415,7 @@ ORDER BY c.ordinal_position;
interval_precision
- character_data
+ cardinal_number
Always null, since this information is not applied to array element data types in PostgreSQL>
@@ -3150,7 +3165,7 @@ ORDER BY c.ordinal_position;
interval_precision
- character_data
+ cardinal_number
Always null, since this information is not applied to parameter data types in PostgreSQL>
@@ -4037,7 +4052,7 @@ ORDER BY c.ordinal_position;
interval_precision
- character_data
+ cardinal_number
Always null, since this information is not applied to return data types in PostgreSQL>
@@ -4369,7 +4384,7 @@ ORDER BY c.ordinal_position;
result_cast_interval_precision
- character_data
+ cardinal_number
Applies to a feature not available in PostgreSQL>
@@ -6008,7 +6023,7 @@ ORDER BY c.ordinal_position;
interval_precision
- character_data
+ cardinal_number
Applies to a feature not available in PostgreSQL>
diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql
index 966eb08b97d..d7ce8413ab9 100644
--- a/src/backend/catalog/information_schema.sql
+++ b/src/backend/catalog/information_schema.sql
@@ -322,7 +322,7 @@ CREATE VIEW attributes AS
AS datetime_precision,
CAST(null AS character_data) AS interval_type, -- FIXME
- CAST(null AS character_data) AS interval_precision, -- FIXME
+ CAST(null AS cardinal_number) AS interval_precision,
CAST(current_database() AS sql_identifier) AS attribute_udt_catalog,
CAST(nt.nspname AS sql_identifier) AS attribute_udt_schema,
@@ -671,7 +671,7 @@ CREATE VIEW columns AS
AS datetime_precision,
CAST(null AS character_data) AS interval_type, -- FIXME
- CAST(null AS character_data) AS interval_precision, -- FIXME
+ CAST(null AS cardinal_number) AS interval_precision,
CAST(null AS sql_identifier) AS character_set_catalog,
CAST(null AS sql_identifier) AS character_set_schema,
@@ -937,7 +937,7 @@ CREATE VIEW domains AS
AS datetime_precision,
CAST(null AS character_data) AS interval_type, -- FIXME
- CAST(null AS character_data) AS interval_precision, -- FIXME
+ CAST(null AS cardinal_number) AS interval_precision,
CAST(t.typdefault AS character_data) AS domain_default,
@@ -1085,7 +1085,7 @@ CREATE VIEW parameters AS
CAST(null AS cardinal_number) AS numeric_scale,
CAST(null AS cardinal_number) AS datetime_precision,
CAST(null AS character_data) AS interval_type,
- CAST(null AS character_data) AS interval_precision,
+ CAST(null AS cardinal_number) AS interval_precision,
CAST(current_database() AS sql_identifier) AS udt_catalog,
CAST(nt.nspname AS sql_identifier) AS udt_schema,
CAST(t.typname AS sql_identifier) AS udt_name,
@@ -1353,7 +1353,7 @@ CREATE VIEW routines AS
CAST(null AS cardinal_number) AS numeric_scale,
CAST(null AS cardinal_number) AS datetime_precision,
CAST(null AS character_data) AS interval_type,
- CAST(null AS character_data) AS interval_precision,
+ CAST(null AS cardinal_number) AS interval_precision,
CAST(current_database() AS sql_identifier) AS type_udt_catalog,
CAST(nt.nspname AS sql_identifier) AS type_udt_schema,
CAST(t.typname AS sql_identifier) AS type_udt_name,
@@ -1407,7 +1407,7 @@ CREATE VIEW routines AS
CAST(null AS cardinal_number) AS result_cast_numeric_scale,
CAST(null AS cardinal_number) AS result_cast_datetime_precision,
CAST(null AS character_data) AS result_cast_interval_type,
- CAST(null AS character_data) AS result_cast_interval_precision,
+ CAST(null AS cardinal_number) AS result_cast_interval_precision,
CAST(null AS sql_identifier) AS result_cast_type_udt_catalog,
CAST(null AS sql_identifier) AS result_cast_type_udt_schema,
CAST(null AS sql_identifier) AS result_cast_type_udt_name,
@@ -2212,7 +2212,7 @@ CREATE VIEW user_defined_types AS
CAST(null AS cardinal_number) AS numeric_scale,
CAST(null AS cardinal_number) AS datetime_precision,
CAST(null AS character_data) AS interval_type,
- CAST(null AS character_data) AS interval_precision,
+ CAST(null AS cardinal_number) AS interval_precision,
CAST(null AS sql_identifier) AS source_dtd_identifier,
CAST(null AS sql_identifier) AS ref_dtd_identifier
@@ -2448,7 +2448,7 @@ CREATE VIEW element_types AS
CAST(null AS cardinal_number) AS numeric_scale,
CAST(null AS cardinal_number) AS datetime_precision,
CAST(null AS character_data) AS interval_type,
- CAST(null AS character_data) AS interval_precision,
+ CAST(null AS cardinal_number) AS interval_precision,
CAST(null AS character_data) AS domain_default, -- XXX maybe a bug in the standard