diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c
index a83feea396..a1cc47b5f7 100644
--- a/src/backend/utils/adt/numeric.c
+++ b/src/backend/utils/adt/numeric.c
@@ -4127,9 +4127,9 @@ get_min_scale(NumericVar *var)
 	int			last_digit_pos;
 
 	/*
-	 * Ordinarily, the input value will be "stripped" so that the last
-	 * NumericDigit is nonzero.  But we don't want to get into an infinite
-	 * loop if it isn't, so explicitly find the last nonzero digit.
+	 * Find the last nonzero digit, if any.  (If the input has been unpacked
+	 * from storage format, there won't be trailing zero digits; but in
+	 * general we can't assume that.)
 	 */
 	last_digit_pos = var->ndigits - 1;
 	while (last_digit_pos >= 0 &&
@@ -4243,15 +4243,11 @@ int64_div_fast_to_numeric(int64 val1, int log10val2)
 {
 	Numeric		res;
 	NumericVar	result;
-	int			rscale;
 	int			w;
 	int			m;
 
 	init_var(&result);
 
-	/* result scale */
-	rscale = log10val2 < 0 ? 0 : log10val2;
-
 	/* how much to decrease the weight by */
 	w = log10val2 / DEC_DIGITS;
 	/* how much is left to divide by */
@@ -4314,7 +4310,9 @@ int64_div_fast_to_numeric(int64 val1, int log10val2)
 		int64_to_numericvar(val1, &result);
 
 	result.weight -= w;
-	result.dscale = rscale;
+
+	/* Set dscale to include only nonzero fractional digits */
+	result.dscale = get_min_scale(&result);
 
 	res = make_result(&result);
 
diff --git a/src/test/regress/expected/interval.out b/src/test/regress/expected/interval.out
index 28b71d9681..d791c6772e 100644
--- a/src/test/regress/expected/interval.out
+++ b/src/test/regress/expected/interval.out
@@ -1692,18 +1692,18 @@ SELECT f1,
     EXTRACT(MILLENNIUM FROM f1) AS MILLENNIUM,
     EXTRACT(EPOCH FROM f1) AS EPOCH
     FROM INTERVAL_TBL;
-              f1               | microsecond | millisecond |   second   | minute | hour | day | month | quarter | year | decade | century | millennium |       epoch       
--------------------------------+-------------+-------------+------------+--------+------+-----+-------+---------+------+--------+---------+------------+-------------------
- @ 1 min                       |           0 |       0.000 |   0.000000 |      1 |    0 |   0 |     0 |       1 |    0 |      0 |       0 |          0 |         60.000000
- @ 5 hours                     |           0 |       0.000 |   0.000000 |      0 |    5 |   0 |     0 |       1 |    0 |      0 |       0 |          0 |      18000.000000
- @ 10 days                     |           0 |       0.000 |   0.000000 |      0 |    0 |  10 |     0 |       1 |    0 |      0 |       0 |          0 |     864000.000000
- @ 34 years                    |           0 |       0.000 |   0.000000 |      0 |    0 |   0 |     0 |       1 |   34 |      3 |       0 |          0 | 1072958400.000000
- @ 3 mons                      |           0 |       0.000 |   0.000000 |      0 |    0 |   0 |     3 |       2 |    0 |      0 |       0 |          0 |    7776000.000000
- @ 14 secs ago                 |   -14000000 |  -14000.000 | -14.000000 |      0 |    0 |   0 |     0 |       1 |    0 |      0 |       0 |          0 |        -14.000000
- @ 1 day 2 hours 3 mins 4 secs |     4000000 |    4000.000 |   4.000000 |      3 |    2 |   1 |     0 |       1 |    0 |      0 |       0 |          0 |      93784.000000
- @ 6 years                     |           0 |       0.000 |   0.000000 |      0 |    0 |   0 |     0 |       1 |    6 |      0 |       0 |          0 |  189345600.000000
- @ 5 mons                      |           0 |       0.000 |   0.000000 |      0 |    0 |   0 |     5 |       2 |    0 |      0 |       0 |          0 |   12960000.000000
- @ 5 mons 12 hours             |           0 |       0.000 |   0.000000 |      0 |   12 |   0 |     5 |       2 |    0 |      0 |       0 |          0 |   13003200.000000
+              f1               | microsecond | millisecond | second | minute | hour | day | month | quarter | year | decade | century | millennium |   epoch    
+-------------------------------+-------------+-------------+--------+--------+------+-----+-------+---------+------+--------+---------+------------+------------
+ @ 1 min                       |           0 |           0 |      0 |      1 |    0 |   0 |     0 |       1 |    0 |      0 |       0 |          0 |         60
+ @ 5 hours                     |           0 |           0 |      0 |      0 |    5 |   0 |     0 |       1 |    0 |      0 |       0 |          0 |      18000
+ @ 10 days                     |           0 |           0 |      0 |      0 |    0 |  10 |     0 |       1 |    0 |      0 |       0 |          0 |     864000
+ @ 34 years                    |           0 |           0 |      0 |      0 |    0 |   0 |     0 |       1 |   34 |      3 |       0 |          0 | 1072958400
+ @ 3 mons                      |           0 |           0 |      0 |      0 |    0 |   0 |     3 |       2 |    0 |      0 |       0 |          0 |    7776000
+ @ 14 secs ago                 |   -14000000 |      -14000 |    -14 |      0 |    0 |   0 |     0 |       1 |    0 |      0 |       0 |          0 |        -14
+ @ 1 day 2 hours 3 mins 4 secs |     4000000 |        4000 |      4 |      3 |    2 |   1 |     0 |       1 |    0 |      0 |       0 |          0 |      93784
+ @ 6 years                     |           0 |           0 |      0 |      0 |    0 |   0 |     0 |       1 |    6 |      0 |       0 |          0 |  189345600
+ @ 5 mons                      |           0 |           0 |      0 |      0 |    0 |   0 |     5 |       2 |    0 |      0 |       0 |          0 |   12960000
+ @ 5 mons 12 hours             |           0 |           0 |      0 |      0 |   12 |   0 |     5 |       2 |    0 |      0 |       0 |          0 |   13003200
 (10 rows)
 
 SELECT EXTRACT(FORTNIGHT FROM INTERVAL '2 days');  -- error
@@ -1782,8 +1782,8 @@ SELECT f1,
 
 -- internal overflow test case
 SELECT extract(epoch from interval '1000000000 days');
-        extract        
------------------------
- 86400000000000.000000
+    extract     
+----------------
+ 86400000000000
 (1 row)
 
diff --git a/src/test/regress/expected/timestamp.out b/src/test/regress/expected/timestamp.out
index c64bcb7c12..390dae701f 100644
--- a/src/test/regress/expected/timestamp.out
+++ b/src/test/regress/expected/timestamp.out
@@ -1118,73 +1118,73 @@ SELECT d1 as "timestamp",
    round(extract(julian from d1)) AS julian,
    extract(epoch from d1) AS epoch
    FROM TIMESTAMP_TBL;
-          timestamp          | microseconds | milliseconds |  seconds  |  julian   |        epoch        
------------------------------+--------------+--------------+-----------+-----------+---------------------
- -infinity                   |              |              |           | -Infinity |           -Infinity
- infinity                    |              |              |           |  Infinity |            Infinity
- Thu Jan 01 00:00:00 1970    |            0 |        0.000 |  0.000000 |   2440588 |            0.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:02 1997    |      2000000 |     2000.000 |  2.000000 |   2450491 |    855595922.000000
- Mon Feb 10 17:32:01.4 1997  |      1400000 |     1400.000 |  1.400000 |   2450491 |    855595921.400000
- Mon Feb 10 17:32:01.5 1997  |      1500000 |     1500.000 |  1.500000 |   2450491 |    855595921.500000
- Mon Feb 10 17:32:01.6 1997  |      1600000 |     1600.000 |  1.600000 |   2450491 |    855595921.600000
- Thu Jan 02 00:00:00 1997    |            0 |        0.000 |  0.000000 |   2450451 |    852163200.000000
- Thu Jan 02 03:04:05 1997    |      5000000 |     5000.000 |  5.000000 |   2450451 |    852174245.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Tue Jun 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450611 |    865963921.000000
- Sat Sep 22 18:19:20 2001    |     20000000 |    20000.000 | 20.000000 |   2452176 |   1001182760.000000
- Wed Mar 15 08:14:01 2000    |      1000000 |     1000.000 |  1.000000 |   2451619 |    953108041.000000
- Wed Mar 15 13:14:02 2000    |      2000000 |     2000.000 |  2.000000 |   2451620 |    953126042.000000
- Wed Mar 15 12:14:03 2000    |      3000000 |     3000.000 |  3.000000 |   2451620 |    953122443.000000
- Wed Mar 15 03:14:04 2000    |      4000000 |     4000.000 |  4.000000 |   2451619 |    953090044.000000
- Wed Mar 15 02:14:05 2000    |      5000000 |     5000.000 |  5.000000 |   2451619 |    953086445.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:00 1997    |            0 |        0.000 |  0.000000 |   2450491 |    855595920.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Tue Jun 10 18:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450611 |    865967521.000000
- Mon Feb 10 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855595921.000000
- Tue Feb 11 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450492 |    855682321.000000
- Wed Feb 12 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450493 |    855768721.000000
- Thu Feb 13 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450494 |    855855121.000000
- Fri Feb 14 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450495 |    855941521.000000
- Sat Feb 15 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450496 |    856027921.000000
- Sun Feb 16 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450497 |    856114321.000000
- Tue Feb 16 17:32:01 0097 BC |      1000000 |     1000.000 |  1.000000 |   1686043 | -65192711279.000000
- Sat Feb 16 17:32:01 0097    |      1000000 |     1000.000 |  1.000000 |   1756537 | -59102029679.000000
- Thu Feb 16 17:32:01 0597    |      1000000 |     1000.000 |  1.000000 |   1939158 | -43323575279.000000
- Tue Feb 16 17:32:01 1097    |      1000000 |     1000.000 |  1.000000 |   2121779 | -27545120879.000000
- Sat Feb 16 17:32:01 1697    |      1000000 |     1000.000 |  1.000000 |   2340925 |  -8610906479.000000
- Thu Feb 16 17:32:01 1797    |      1000000 |     1000.000 |  1.000000 |   2377449 |  -5455232879.000000
- Tue Feb 16 17:32:01 1897    |      1000000 |     1000.000 |  1.000000 |   2413973 |  -2299559279.000000
- Sun Feb 16 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450497 |    856114321.000000
- Sat Feb 16 17:32:01 2097    |      1000000 |     1000.000 |  1.000000 |   2487022 |   4011874321.000000
- Wed Feb 28 17:32:01 1996    |      1000000 |     1000.000 |  1.000000 |   2450143 |    825528721.000000
- Thu Feb 29 17:32:01 1996    |      1000000 |     1000.000 |  1.000000 |   2450144 |    825615121.000000
- Fri Mar 01 17:32:01 1996    |      1000000 |     1000.000 |  1.000000 |   2450145 |    825701521.000000
- Mon Dec 30 17:32:01 1996    |      1000000 |     1000.000 |  1.000000 |   2450449 |    851967121.000000
- Tue Dec 31 17:32:01 1996    |      1000000 |     1000.000 |  1.000000 |   2450450 |    852053521.000000
- Wed Jan 01 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450451 |    852139921.000000
- Fri Feb 28 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450509 |    857151121.000000
- Sat Mar 01 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450510 |    857237521.000000
- Tue Dec 30 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450814 |    883503121.000000
- Wed Dec 31 17:32:01 1997    |      1000000 |     1000.000 |  1.000000 |   2450815 |    883589521.000000
- Fri Dec 31 17:32:01 1999    |      1000000 |     1000.000 |  1.000000 |   2451545 |    946661521.000000
- Sat Jan 01 17:32:01 2000    |      1000000 |     1000.000 |  1.000000 |   2451546 |    946747921.000000
- Sun Dec 31 17:32:01 2000    |      1000000 |     1000.000 |  1.000000 |   2451911 |    978283921.000000
- Mon Jan 01 17:32:01 2001    |      1000000 |     1000.000 |  1.000000 |   2451912 |    978370321.000000
+          timestamp          | microseconds | milliseconds | seconds |  julian   |    epoch     
+-----------------------------+--------------+--------------+---------+-----------+--------------
+ -infinity                   |              |              |         | -Infinity |    -Infinity
+ infinity                    |              |              |         |  Infinity |     Infinity
+ Thu Jan 01 00:00:00 1970    |            0 |            0 |       0 |   2440588 |            0
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:02 1997    |      2000000 |         2000 |       2 |   2450491 |    855595922
+ Mon Feb 10 17:32:01.4 1997  |      1400000 |         1400 |     1.4 |   2450491 |  855595921.4
+ Mon Feb 10 17:32:01.5 1997  |      1500000 |         1500 |     1.5 |   2450491 |  855595921.5
+ Mon Feb 10 17:32:01.6 1997  |      1600000 |         1600 |     1.6 |   2450491 |  855595921.6
+ Thu Jan 02 00:00:00 1997    |            0 |            0 |       0 |   2450451 |    852163200
+ Thu Jan 02 03:04:05 1997    |      5000000 |         5000 |       5 |   2450451 |    852174245
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Tue Jun 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450611 |    865963921
+ Sat Sep 22 18:19:20 2001    |     20000000 |        20000 |      20 |   2452176 |   1001182760
+ Wed Mar 15 08:14:01 2000    |      1000000 |         1000 |       1 |   2451619 |    953108041
+ Wed Mar 15 13:14:02 2000    |      2000000 |         2000 |       2 |   2451620 |    953126042
+ Wed Mar 15 12:14:03 2000    |      3000000 |         3000 |       3 |   2451620 |    953122443
+ Wed Mar 15 03:14:04 2000    |      4000000 |         4000 |       4 |   2451619 |    953090044
+ Wed Mar 15 02:14:05 2000    |      5000000 |         5000 |       5 |   2451619 |    953086445
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:00 1997    |            0 |            0 |       0 |   2450491 |    855595920
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Tue Jun 10 18:32:01 1997    |      1000000 |         1000 |       1 |   2450611 |    865967521
+ Mon Feb 10 17:32:01 1997    |      1000000 |         1000 |       1 |   2450491 |    855595921
+ Tue Feb 11 17:32:01 1997    |      1000000 |         1000 |       1 |   2450492 |    855682321
+ Wed Feb 12 17:32:01 1997    |      1000000 |         1000 |       1 |   2450493 |    855768721
+ Thu Feb 13 17:32:01 1997    |      1000000 |         1000 |       1 |   2450494 |    855855121
+ Fri Feb 14 17:32:01 1997    |      1000000 |         1000 |       1 |   2450495 |    855941521
+ Sat Feb 15 17:32:01 1997    |      1000000 |         1000 |       1 |   2450496 |    856027921
+ Sun Feb 16 17:32:01 1997    |      1000000 |         1000 |       1 |   2450497 |    856114321
+ Tue Feb 16 17:32:01 0097 BC |      1000000 |         1000 |       1 |   1686043 | -65192711279
+ Sat Feb 16 17:32:01 0097    |      1000000 |         1000 |       1 |   1756537 | -59102029679
+ Thu Feb 16 17:32:01 0597    |      1000000 |         1000 |       1 |   1939158 | -43323575279
+ Tue Feb 16 17:32:01 1097    |      1000000 |         1000 |       1 |   2121779 | -27545120879
+ Sat Feb 16 17:32:01 1697    |      1000000 |         1000 |       1 |   2340925 |  -8610906479
+ Thu Feb 16 17:32:01 1797    |      1000000 |         1000 |       1 |   2377449 |  -5455232879
+ Tue Feb 16 17:32:01 1897    |      1000000 |         1000 |       1 |   2413973 |  -2299559279
+ Sun Feb 16 17:32:01 1997    |      1000000 |         1000 |       1 |   2450497 |    856114321
+ Sat Feb 16 17:32:01 2097    |      1000000 |         1000 |       1 |   2487022 |   4011874321
+ Wed Feb 28 17:32:01 1996    |      1000000 |         1000 |       1 |   2450143 |    825528721
+ Thu Feb 29 17:32:01 1996    |      1000000 |         1000 |       1 |   2450144 |    825615121
+ Fri Mar 01 17:32:01 1996    |      1000000 |         1000 |       1 |   2450145 |    825701521
+ Mon Dec 30 17:32:01 1996    |      1000000 |         1000 |       1 |   2450449 |    851967121
+ Tue Dec 31 17:32:01 1996    |      1000000 |         1000 |       1 |   2450450 |    852053521
+ Wed Jan 01 17:32:01 1997    |      1000000 |         1000 |       1 |   2450451 |    852139921
+ Fri Feb 28 17:32:01 1997    |      1000000 |         1000 |       1 |   2450509 |    857151121
+ Sat Mar 01 17:32:01 1997    |      1000000 |         1000 |       1 |   2450510 |    857237521
+ Tue Dec 30 17:32:01 1997    |      1000000 |         1000 |       1 |   2450814 |    883503121
+ Wed Dec 31 17:32:01 1997    |      1000000 |         1000 |       1 |   2450815 |    883589521
+ Fri Dec 31 17:32:01 1999    |      1000000 |         1000 |       1 |   2451545 |    946661521
+ Sat Jan 01 17:32:01 2000    |      1000000 |         1000 |       1 |   2451546 |    946747921
+ Sun Dec 31 17:32:01 2000    |      1000000 |         1000 |       1 |   2451911 |    978283921
+ Mon Jan 01 17:32:01 2001    |      1000000 |         1000 |       1 |   2451912 |    978370321
 (65 rows)
 
 -- value near upper bound uses special case in code
@@ -1202,9 +1202,9 @@ SELECT extract(epoch from '294270-01-01 00:00:00'::timestamp);
 
 -- another internal overflow test case
 SELECT extract(epoch from '5000-01-01 00:00:00'::timestamp);
-      extract       
---------------------
- 95617584000.000000
+   extract   
+-------------
+ 95617584000
 (1 row)
 
 -- test edge-case overflow in timestamp subtraction
diff --git a/src/test/regress/expected/timestamptz.out b/src/test/regress/expected/timestamptz.out
index 0dd2fe2c82..9f284e5538 100644
--- a/src/test/regress/expected/timestamptz.out
+++ b/src/test/regress/expected/timestamptz.out
@@ -1241,74 +1241,74 @@ SELECT d1 as "timestamp",
    round(extract(julian from d1)) AS julian,
    extract(epoch from d1) AS epoch
    FROM TIMESTAMPTZ_TBL;
-            timestamp            | microseconds | milliseconds |  seconds  |  julian   |        epoch        
----------------------------------+--------------+--------------+-----------+-----------+---------------------
- -infinity                       |              |              |           | -Infinity |           -Infinity
- infinity                        |              |              |           |  Infinity |            Infinity
- Wed Dec 31 16:00:00 1969 PST    |            0 |        0.000 |  0.000000 |   2440588 |            0.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:02 1997 PST    |      2000000 |     2000.000 |  2.000000 |   2450491 |    855624722.000000
- Mon Feb 10 17:32:01.4 1997 PST  |      1400000 |     1400.000 |  1.400000 |   2450491 |    855624721.400000
- Mon Feb 10 17:32:01.5 1997 PST  |      1500000 |     1500.000 |  1.500000 |   2450491 |    855624721.500000
- Mon Feb 10 17:32:01.6 1997 PST  |      1600000 |     1600.000 |  1.600000 |   2450491 |    855624721.600000
- Thu Jan 02 00:00:00 1997 PST    |            0 |        0.000 |  0.000000 |   2450451 |    852192000.000000
- Thu Jan 02 03:04:05 1997 PST    |      5000000 |     5000.000 |  5.000000 |   2450451 |    852203045.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Tue Jun 10 17:32:01 1997 PDT    |      1000000 |     1000.000 |  1.000000 |   2450611 |    865989121.000000
- Sat Sep 22 18:19:20 2001 PDT    |     20000000 |    20000.000 | 20.000000 |   2452176 |   1001207960.000000
- Wed Mar 15 08:14:01 2000 PST    |      1000000 |     1000.000 |  1.000000 |   2451619 |    953136841.000000
- Wed Mar 15 04:14:02 2000 PST    |      2000000 |     2000.000 |  2.000000 |   2451619 |    953122442.000000
- Wed Mar 15 02:14:03 2000 PST    |      3000000 |     3000.000 |  3.000000 |   2451619 |    953115243.000000
- Wed Mar 15 03:14:04 2000 PST    |      4000000 |     4000.000 |  4.000000 |   2451619 |    953118844.000000
- Wed Mar 15 01:14:05 2000 PST    |      5000000 |     5000.000 |  5.000000 |   2451619 |    953111645.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:00 1997 PST    |            0 |        0.000 |  0.000000 |   2450491 |    855624720.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Mon Feb 10 09:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450490 |    855595921.000000
- Mon Feb 10 09:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450490 |    855595921.000000
- Mon Feb 10 09:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450490 |    855595921.000000
- Mon Feb 10 14:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855613921.000000
- Thu Jul 10 14:32:01 1997 PDT    |      1000000 |     1000.000 |  1.000000 |   2450641 |    868570321.000000
- Tue Jun 10 18:32:01 1997 PDT    |      1000000 |     1000.000 |  1.000000 |   2450611 |    865992721.000000
- Mon Feb 10 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450491 |    855624721.000000
- Tue Feb 11 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450492 |    855711121.000000
- Wed Feb 12 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450493 |    855797521.000000
- Thu Feb 13 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450494 |    855883921.000000
- Fri Feb 14 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450495 |    855970321.000000
- Sat Feb 15 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450496 |    856056721.000000
- Sun Feb 16 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450497 |    856143121.000000
- Tue Feb 16 17:32:01 0097 PST BC |      1000000 |     1000.000 |  1.000000 |   1686043 | -65192682479.000000
- Sat Feb 16 17:32:01 0097 PST    |      1000000 |     1000.000 |  1.000000 |   1756537 | -59102000879.000000
- Thu Feb 16 17:32:01 0597 PST    |      1000000 |     1000.000 |  1.000000 |   1939158 | -43323546479.000000
- Tue Feb 16 17:32:01 1097 PST    |      1000000 |     1000.000 |  1.000000 |   2121779 | -27545092079.000000
- Sat Feb 16 17:32:01 1697 PST    |      1000000 |     1000.000 |  1.000000 |   2340925 |  -8610877679.000000
- Thu Feb 16 17:32:01 1797 PST    |      1000000 |     1000.000 |  1.000000 |   2377449 |  -5455204079.000000
- Tue Feb 16 17:32:01 1897 PST    |      1000000 |     1000.000 |  1.000000 |   2413973 |  -2299530479.000000
- Sun Feb 16 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450497 |    856143121.000000
- Sat Feb 16 17:32:01 2097 PST    |      1000000 |     1000.000 |  1.000000 |   2487022 |   4011903121.000000
- Wed Feb 28 17:32:01 1996 PST    |      1000000 |     1000.000 |  1.000000 |   2450143 |    825557521.000000
- Thu Feb 29 17:32:01 1996 PST    |      1000000 |     1000.000 |  1.000000 |   2450144 |    825643921.000000
- Fri Mar 01 17:32:01 1996 PST    |      1000000 |     1000.000 |  1.000000 |   2450145 |    825730321.000000
- Mon Dec 30 17:32:01 1996 PST    |      1000000 |     1000.000 |  1.000000 |   2450449 |    851995921.000000
- Tue Dec 31 17:32:01 1996 PST    |      1000000 |     1000.000 |  1.000000 |   2450450 |    852082321.000000
- Wed Jan 01 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450451 |    852168721.000000
- Fri Feb 28 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450509 |    857179921.000000
- Sat Mar 01 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450510 |    857266321.000000
- Tue Dec 30 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450814 |    883531921.000000
- Wed Dec 31 17:32:01 1997 PST    |      1000000 |     1000.000 |  1.000000 |   2450815 |    883618321.000000
- Fri Dec 31 17:32:01 1999 PST    |      1000000 |     1000.000 |  1.000000 |   2451545 |    946690321.000000
- Sat Jan 01 17:32:01 2000 PST    |      1000000 |     1000.000 |  1.000000 |   2451546 |    946776721.000000
- Sun Dec 31 17:32:01 2000 PST    |      1000000 |     1000.000 |  1.000000 |   2451911 |    978312721.000000
- Mon Jan 01 17:32:01 2001 PST    |      1000000 |     1000.000 |  1.000000 |   2451912 |    978399121.000000
+            timestamp            | microseconds | milliseconds | seconds |  julian   |    epoch     
+---------------------------------+--------------+--------------+---------+-----------+--------------
+ -infinity                       |              |              |         | -Infinity |    -Infinity
+ infinity                        |              |              |         |  Infinity |     Infinity
+ Wed Dec 31 16:00:00 1969 PST    |            0 |            0 |       0 |   2440588 |            0
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:02 1997 PST    |      2000000 |         2000 |       2 |   2450491 |    855624722
+ Mon Feb 10 17:32:01.4 1997 PST  |      1400000 |         1400 |     1.4 |   2450491 |  855624721.4
+ Mon Feb 10 17:32:01.5 1997 PST  |      1500000 |         1500 |     1.5 |   2450491 |  855624721.5
+ Mon Feb 10 17:32:01.6 1997 PST  |      1600000 |         1600 |     1.6 |   2450491 |  855624721.6
+ Thu Jan 02 00:00:00 1997 PST    |            0 |            0 |       0 |   2450451 |    852192000
+ Thu Jan 02 03:04:05 1997 PST    |      5000000 |         5000 |       5 |   2450451 |    852203045
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Tue Jun 10 17:32:01 1997 PDT    |      1000000 |         1000 |       1 |   2450611 |    865989121
+ Sat Sep 22 18:19:20 2001 PDT    |     20000000 |        20000 |      20 |   2452176 |   1001207960
+ Wed Mar 15 08:14:01 2000 PST    |      1000000 |         1000 |       1 |   2451619 |    953136841
+ Wed Mar 15 04:14:02 2000 PST    |      2000000 |         2000 |       2 |   2451619 |    953122442
+ Wed Mar 15 02:14:03 2000 PST    |      3000000 |         3000 |       3 |   2451619 |    953115243
+ Wed Mar 15 03:14:04 2000 PST    |      4000000 |         4000 |       4 |   2451619 |    953118844
+ Wed Mar 15 01:14:05 2000 PST    |      5000000 |         5000 |       5 |   2451619 |    953111645
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:00 1997 PST    |            0 |            0 |       0 |   2450491 |    855624720
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Mon Feb 10 09:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450490 |    855595921
+ Mon Feb 10 09:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450490 |    855595921
+ Mon Feb 10 09:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450490 |    855595921
+ Mon Feb 10 14:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855613921
+ Thu Jul 10 14:32:01 1997 PDT    |      1000000 |         1000 |       1 |   2450641 |    868570321
+ Tue Jun 10 18:32:01 1997 PDT    |      1000000 |         1000 |       1 |   2450611 |    865992721
+ Mon Feb 10 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450491 |    855624721
+ Tue Feb 11 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450492 |    855711121
+ Wed Feb 12 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450493 |    855797521
+ Thu Feb 13 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450494 |    855883921
+ Fri Feb 14 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450495 |    855970321
+ Sat Feb 15 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450496 |    856056721
+ Sun Feb 16 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450497 |    856143121
+ Tue Feb 16 17:32:01 0097 PST BC |      1000000 |         1000 |       1 |   1686043 | -65192682479
+ Sat Feb 16 17:32:01 0097 PST    |      1000000 |         1000 |       1 |   1756537 | -59102000879
+ Thu Feb 16 17:32:01 0597 PST    |      1000000 |         1000 |       1 |   1939158 | -43323546479
+ Tue Feb 16 17:32:01 1097 PST    |      1000000 |         1000 |       1 |   2121779 | -27545092079
+ Sat Feb 16 17:32:01 1697 PST    |      1000000 |         1000 |       1 |   2340925 |  -8610877679
+ Thu Feb 16 17:32:01 1797 PST    |      1000000 |         1000 |       1 |   2377449 |  -5455204079
+ Tue Feb 16 17:32:01 1897 PST    |      1000000 |         1000 |       1 |   2413973 |  -2299530479
+ Sun Feb 16 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450497 |    856143121
+ Sat Feb 16 17:32:01 2097 PST    |      1000000 |         1000 |       1 |   2487022 |   4011903121
+ Wed Feb 28 17:32:01 1996 PST    |      1000000 |         1000 |       1 |   2450143 |    825557521
+ Thu Feb 29 17:32:01 1996 PST    |      1000000 |         1000 |       1 |   2450144 |    825643921
+ Fri Mar 01 17:32:01 1996 PST    |      1000000 |         1000 |       1 |   2450145 |    825730321
+ Mon Dec 30 17:32:01 1996 PST    |      1000000 |         1000 |       1 |   2450449 |    851995921
+ Tue Dec 31 17:32:01 1996 PST    |      1000000 |         1000 |       1 |   2450450 |    852082321
+ Wed Jan 01 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450451 |    852168721
+ Fri Feb 28 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450509 |    857179921
+ Sat Mar 01 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450510 |    857266321
+ Tue Dec 30 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450814 |    883531921
+ Wed Dec 31 17:32:01 1997 PST    |      1000000 |         1000 |       1 |   2450815 |    883618321
+ Fri Dec 31 17:32:01 1999 PST    |      1000000 |         1000 |       1 |   2451545 |    946690321
+ Sat Jan 01 17:32:01 2000 PST    |      1000000 |         1000 |       1 |   2451546 |    946776721
+ Sun Dec 31 17:32:01 2000 PST    |      1000000 |         1000 |       1 |   2451911 |    978312721
+ Mon Jan 01 17:32:01 2001 PST    |      1000000 |         1000 |       1 |   2451912 |    978399121
 (66 rows)
 
 -- value near upper bound uses special case in code
@@ -1326,9 +1326,9 @@ SELECT extract(epoch from '294270-01-01 00:00:00+00'::timestamptz);
 
 -- another internal overflow test case
 SELECT extract(epoch from '5000-01-01 00:00:00+00'::timestamptz);
-      extract       
---------------------
- 95617584000.000000
+   extract   
+-------------
+ 95617584000
 (1 row)
 
 -- test edge-case overflow in timestamp subtraction
