diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 584d389d45..d4c6c5b104 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -2166,16 +2166,18 @@ memcpy(destination->data, buffer, 40);
- specifies which C type
- corresponds to which SQL type when writing a C-language function
- that uses a built-in type of PostgreSQL.
+ shows the C types
+ corresponding to many of the built-in SQL data types
+ of PostgreSQL.
The Defined In
column gives the header file that
needs to be included to get the type definition. (The actual
definition might be in a different file that is included by the
listed file. It is recommended that users stick to the defined
interface.) Note that you should always include
- postgres.h first in any source file, because
- it declares a number of things that you will need anyway.
+ postgres.h first in any source file of server
+ code, because it declares a number of things that you will need
+ anyway, and because including other headers first can cause
+ portability issues.
@@ -2234,28 +2236,28 @@ memcpy(destination->data, buffer, 40);
utils/date.h
- smallint (int2)
+ float4 (real)
+ float4
+ postgres.h
+
+
+ float8 (double precision)
+ float8
+ postgres.h
+
+
+ int2 (smallint)
int16
postgres.h
- int2vector
- int2vector*
- postgres.h
-
-
- integer (int4)
+ int4 (integer)
int32
postgres.h
- real (float4)
- float4*
- postgres.h
-
-
- double precision (float8)
- float8*
+ int8 (bigint)
+ int64
postgres.h
@@ -2273,6 +2275,11 @@ memcpy(destination->data, buffer, 40);
Name
postgres.h
+
+ numeric
+ Numeric
+ utils/numeric.h
+
oid
Oid
@@ -2295,7 +2302,7 @@ memcpy(destination->data, buffer, 40);
regproc
- regproc
+ RegProcedure
postgres.h
@@ -2323,6 +2330,11 @@ memcpy(destination->data, buffer, 40);
Timestamp
datatype/timestamp.h
+
+ timestamp with time zone
+ TimestampTz
+ datatype/timestamp.h
+
varchar
VarChar*