Consecutive Query Executions with Increasing Execution Time
Shijia Wei <[email protected]> Sun, 15 Dec 2019 23:59:26 -0600
| Newsgroups | gmane.comp.db.postgresql.performance |
|---|---|
| Message-ID | <CABSfb-6iUvpGCzcgni+tVoiUWTc9aQdUtKbOzFzGqJcypiLa4g@mail.gmail.com> |
--00000000000021e5930599cbec12
Content-Type: text/plain; charset="UTF-8"
Hi all,
I am running TPC-H on recent postgresql (12.0 and 12.1).
On some of the queries (that may involve parallel scans) I see this
interesting behavior:
When these queries are executed back-to-back (sent from psql interactive
terminal), the total execution time of them increase monotonically.
I simplified query-1 to demonstrate this effect:
``` example.sql
explain (analyze, buffers) select
max(l_shipdate) as max_data,
count(*) as count_order
from
lineitem
where
l_shipdate <= date '1998-12-01' - interval '20' day;
```
When I execute (from fish) following command:
`for i in (seq 1 20); psql tpch < example.sql | grep Execution; end`
The results I get are as follows:
"
Execution Time: 184.864 ms
Execution Time: 192.758 ms
Execution Time: 197.380 ms
Execution Time: 200.384 ms
Execution Time: 202.950 ms
Execution Time: 205.695 ms
Execution Time: 208.082 ms
Execution Time: 209.108 ms
Execution Time: 212.428 ms
Execution Time: 214.539 ms
Execution Time: 215.799 ms
Execution Time: 219.057 ms
Execution Time: 222.102 ms
Execution Time: 223.779 ms
Execution Time: 227.819 ms
Execution Time: 229.710 ms
Execution Time: 239.439 ms
Execution Time: 237.649 ms
Execution Time: 249.178 ms
Execution Time: 261.268 ms
"
In addition, if the repeated more times, the total execution time can end
up being 10X and more!!!
When there a wait period in-between queries, (e.g. sleep 10) in the above
for loop, this increasing execution time behavior goes a way.
For more complex queries, the "wait period" needs to be longer to avoid the
increase in execution time.
Some metadata about this table "lineitem":
tpch=# \d lineitem
Table "public.lineitem"
Column | Type | Collation | Nullable | Default
-----------------+-----------------------+-----------+----------+---------
l_orderkey | integer | | not null |
l_partkey | integer | | not null |
l_suppkey | integer | | not null |
l_linenumber | integer | | not null |
l_quantity | numeric(15,2) | | not null |
l_extendedprice | numeric(15,2) | | not null |
l_discount | numeric(15,2) | | not null |
l_tax | numeric(15,2) | | not null |
l_returnflag | character(1) | | not null |
l_linestatus | character(1) | | not null |
l_shipdate | date | | not null |
l_commitdate | date | | not null |
l_receiptdate | date | | not null |
l_shipinstruct | character(25) | | not null |
l_shipmode | character(10) | | not null |
l_comment | character varying(44) | | not null |
Indexes:
"i_l_commitdate" btree (l_commitdate)
"i_l_orderkey" btree (l_orderkey)
"i_l_orderkey_quantity" btree (l_orderkey, l_quantity)
"i_l_partkey" btree (l_partkey)
"i_l_receiptdate" btree (l_receiptdate)
"i_l_shipdate" btree (l_shipdate)
"i_l_suppkey" btree (l_suppkey)
"i_l_suppkey_partkey" btree (l_partkey, l_suppkey)
tpch=# SELECT relname, relpages, reltuples, relallvisible, relkind, relnatts,
relhassubclass, reloptions, pg_table_size(oid) FROM pg_class WHERE relname
='lineitem';
relname | relpages | reltuples | relallvisible | relkind | relnatts |
relhassubclass | reloptions | pg_table_size
----------+----------+--------------+---------------+---------+----------+----------------+------------+---------------
lineitem | 112503 | 6.001167e+06 | 112503 | r | 16 |
f | | 921903104
(1 row)
Postgresql 12.0 and 12.1 are all manually installed from source.
Both are running on Ubuntu 16.04 kernel 4.4.0-142-generic, on Intel(R)
Core(TM) i7-6700K.
Any help greatly appreciated!
Shijia
--00000000000021e5930599cbec12
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,he=
lvetica,sans-serif">Hi all,</div><div class=3D"gmail_default" style=3D"font=
-family:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_default" =
style=3D"font-family:arial,helvetica,sans-serif">I am running <span class=
=3D"" id=3D":1wh.1" tabindex=3D"-1" style=3D"">TPC</span>-H on recent <span=
class=3D"" id=3D":1wh.2" tabindex=3D"-1" style=3D"">postgresql</span> (12.=
0 and 12.1).</div><div class=3D"gmail_default" style=3D"font-family:arial,h=
elvetica,sans-serif">On some of the queries (that may involve parallel scan=
s) I see this interesting behavior:</div><div class=3D"gmail_default" style=
=3D"font-family:arial,helvetica,sans-serif">When these queries are executed=
back-to-back (sent from <span class=3D"" id=3D":1wh.3" tabindex=3D"-1" sty=
le=3D"">psql</span> interactive terminal), the total execution time of them=
increase=C2=A0monotonically.</div><div class=3D"gmail_default" style=3D"fo=
nt-family:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_default=
" style=3D"font-family:arial,helvetica,sans-serif">I simplified query-1 to =
demonstrate this effect:</div><div class=3D"gmail_default" style=3D""><font=
face=3D"monospace">``` example.<span class=3D"" id=3D":1wh.4" tabindex=3D"=
-1" style=3D"">sql</span></font></div><div class=3D"gmail_default" style=3D=
""><font face=3D"monospace">explain (analyze, buffers) select<br>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 max(l_<span class=3D"" id=3D":1wh.5" tabindex=3D"-1" styl=
e=3D"">shipdate</span>) as max_data,<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 count(*=
) as count_order<br>from<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 <span class=3D"" id=
=3D":1wh.6" tabindex=3D"-1" style=3D"">lineitem</span><br>where<br>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 l_<span class=3D"" id=3D":1wh.7" tabindex=3D"-1" style=
=3D"">shipdate</span> <=3D date '1998-12-01' - interval '20&=
#39; day;<br>```</font></div><div class=3D"gmail_default" style=3D""><font =
face=3D"monospace"><br></font></div><div class=3D"gmail_default" style=3D""=
><font face=3D"arial, helvetica, sans-serif">When I execute (from fish) fol=
lowing command:</font><br><font face=3D"monospace">`for i in (seq 1 20); <s=
pan class=3D"" id=3D":1wh.8" tabindex=3D"-1" style=3D"">psql</span> <span c=
lass=3D"" id=3D":1wh.9" tabindex=3D"-1" style=3D"">tpch</span> < example=
.<span class=3D"" id=3D":1wh.10" tabindex=3D"-1" style=3D"">sql</span> | gr=
ep Execution; end`</font><br><font face=3D"arial, helvetica, sans-serif">Th=
e results I get are as follows:</font><br><font face=3D"arial, helvetica, s=
ans-serif">"</font><br><font face=3D"arial, helvetica, sans-serif">=C2=
=A0Execution Time: 184.864 ms</font><br><font face=3D"arial, helvetica, san=
s-serif">=C2=A0Execution Time: 192.758 ms</font><br><font face=3D"arial, he=
lvetica, sans-serif">=C2=A0Execution Time: 197.380 ms</font><br><font face=
=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 200.384 ms</font><b=
r><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 202.950=
ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution T=
ime: 205.695 ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=
=A0Execution Time: 208.082 ms</font><br><font face=3D"arial, helvetica, san=
s-serif">=C2=A0Execution Time: 209.108 ms</font><br><font face=3D"arial, he=
lvetica, sans-serif">=C2=A0Execution Time: 212.428 ms</font><br><font face=
=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 214.539 ms</font><b=
r><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 215.799=
ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution T=
ime: 219.057 ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=
=A0Execution Time: 222.102 ms</font><br><font face=3D"arial, helvetica, san=
s-serif">=C2=A0Execution Time: 223.779 ms</font><br><font face=3D"arial, he=
lvetica, sans-serif">=C2=A0Execution Time: 227.819 ms</font><br><font face=
=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 229.710 ms</font><b=
r><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution Time: 239.439=
ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=A0Execution T=
ime: 237.649 ms</font><br><font face=3D"arial, helvetica, sans-serif">=C2=
=A0Execution Time: 249.178 ms</font><br><font face=3D"arial, helvetica, san=
s-serif">=C2=A0Execution Time: 261.268 ms</font><br><font face=3D"arial, he=
lvetica, sans-serif">"</font></div><div class=3D"gmail_default" style=
=3D""><font face=3D"arial, helvetica, sans-serif">In addition, if the repea=
ted more times, the total execution time can end up being 10X and more!!!</=
font></div><div class=3D"gmail_default" style=3D""><font face=3D"arial, hel=
vetica, sans-serif"><br></font></div><div class=3D"gmail_default" style=3D"=
"><font face=3D"arial, helvetica, sans-serif">When there a wait period in-b=
etween queries, (e.g. </font><font face=3D"monospace">sleep 10</font><font =
face=3D"arial, helvetica, sans-serif">) in the above for loop, this increas=
ing execution time behavior goes a way.</font></div><div class=3D"gmail_def=
ault" style=3D""><font face=3D"arial, helvetica, sans-serif">For more compl=
ex queries, the "wait period" needs to be longer to avoid the inc=
rease in execution time.</font></div><div class=3D"gmail_default" style=3D"=
font-family:arial,helvetica,sans-serif"><br>Some <span class=3D"" id=3D":1w=
h.11" tabindex=3D"-1" style=3D"">metadata</span> about this table "<sp=
an class=3D"" id=3D":1wh.12" tabindex=3D"-1" style=3D"">lineitem</span>&quo=
t;:</div><div class=3D"gmail_default" style=3D""><font face=3D"monospace"><=
span class=3D"" id=3D":1wh.13" tabindex=3D"-1" style=3D"">tpch</span>=3D# \=
d <span class=3D"" id=3D":1wh.14" tabindex=3D"-1" style=3D"">lineitem</span=
><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0Table "public.<span class=3D"" id=3D":1wh.15" tabi=
ndex=3D"-1" style=3D"">lineitem</span>"<br>=C2=A0 =C2=A0 =C2=A0Column =
=C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 Type =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0| Collation | <span class=3D"" id=3D":1wh.16" tabindex=3D"-1"=
style=3D"">Nullable</span> | Default<br>-----------------+----------------=
-------+-----------+----------+---------<br>=C2=A0l_<span class=3D"" id=3D"=
:1wh.17" tabindex=3D"-1" style=3D"">orderkey</span> =C2=A0 =C2=A0 =C2=A0| i=
nteger =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<span class=3D"" id=3D":1wh.18" t=
abindex=3D"-1" style=3D"">partkey</span> =C2=A0 =C2=A0 =C2=A0 | integer =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 | not null |<br>=C2=A0l_<span class=3D"" id=3D":1wh.19" tabindex=3D=
"-1" style=3D"">suppkey</span> =C2=A0 =C2=A0 =C2=A0 | integer =C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =
not null |<br>=C2=A0l_<span class=3D"" id=3D":1wh.20" tabindex=3D"-1" style=
=3D"">linenumber</span> =C2=A0 =C2=A0| integer =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=
=C2=A0l_quantity =C2=A0 =C2=A0 =C2=A0| numeric(15,2) =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<span c=
lass=3D"" id=3D":1wh.21" tabindex=3D"-1" style=3D"">extendedprice</span> | =
numeric(15,2) =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 | not null |<br>=C2=A0l_discount =C2=A0 =C2=A0 =C2=A0| numeric(15,2) =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null=
|<br>=C2=A0l_tax =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | numeric(15,2) =C2=A0=
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=
=C2=A0l_<span class=3D"" id=3D":1wh.22" tabindex=3D"-1" style=3D"">returnfl=
ag</span> =C2=A0 =C2=A0| character(1) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<span class=3D""=
id=3D":1wh.23" tabindex=3D"-1" style=3D"">linestatus</span> =C2=A0 =C2=A0|=
character(1) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 | not null |<br>=C2=A0l_<span class=3D"" id=3D":1wh.24" tabindex=
=3D"-1" style=3D"">shipdate</span> =C2=A0 =C2=A0 =C2=A0| date =C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 | not null |<br>=C2=A0l_<span class=3D"" id=3D":1wh.25" tabindex=
=3D"-1" style=3D"">commitdate</span> =C2=A0 =C2=A0| date =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 | not null |<br>=C2=A0l_<span class=3D"" id=3D":1wh.26" tabindex=3D"=
-1" style=3D"">receiptdate</span> =C2=A0 | date =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | n=
ot null |<br>=C2=A0l_<span class=3D"" id=3D":1wh.27" tabindex=3D"-1" style=
=3D"">shipinstruct</span> =C2=A0| character(25) =C2=A0 =C2=A0 =C2=A0 =C2=A0=
| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_<span class=
=3D"" id=3D":1wh.28" tabindex=3D"-1" style=3D"">shipmode</span> =C2=A0 =C2=
=A0 =C2=A0| character(10) =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 | not null |<br>=C2=A0l_comment =C2=A0 =C2=A0 =C2=A0 | ch=
aracter varying(44) | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>In=
dexes:<br>=C2=A0 =C2=A0 "i_l_<span class=3D"" id=3D":1wh.29" tabindex=
=3D"-1" style=3D"">commitdate</span>" <span class=3D"" id=3D":1wh.30" =
tabindex=3D"-1" style=3D"">btree</span> (l_<span class=3D"" id=3D":1wh.31" =
tabindex=3D"-1" style=3D"">commitdate</span>)<br>=C2=A0 =C2=A0 "i_l_<s=
pan class=3D"" id=3D":1wh.32" tabindex=3D"-1" style=3D"">orderkey</span>&qu=
ot; <span class=3D"" id=3D":1wh.33" tabindex=3D"-1" style=3D"">btree</span>=
(l_<span class=3D"" id=3D":1wh.34" tabindex=3D"-1" style=3D"">orderkey</sp=
an>)<br>=C2=A0 =C2=A0 "i_l_<span class=3D"" id=3D":1wh.35" tabindex=3D=
"-1" style=3D"">orderkey</span>_quantity" <span class=3D"" id=3D":1wh.=
36" tabindex=3D"-1" style=3D"">btree</span> (l_<span class=3D"" id=3D":1wh.=
37" tabindex=3D"-1" style=3D"">orderkey</span>, l_quantity)<br>=C2=A0 =C2=
=A0 "i_l_<span class=3D"" id=3D":1wh.38" tabindex=3D"-1" style=3D"">pa=
rtkey</span>" <span class=3D"" id=3D":1wh.39" tabindex=3D"-1" style=3D=
"">btree</span> (l_<span class=3D"" id=3D":1wh.40" tabindex=3D"-1" style=3D=
"">partkey</span>)<br>=C2=A0 =C2=A0 "i_l_<span class=3D"" id=3D":1wh.4=
1" tabindex=3D"-1" style=3D"">receiptdate</span>" <span class=3D"" id=
=3D":1wh.42" tabindex=3D"-1" style=3D"">btree</span> (l_<span class=3D"" id=
=3D":1wh.43" tabindex=3D"-1" style=3D"">receiptdate</span>)<br>=C2=A0 =C2=
=A0 "i_l_<span class=3D"" id=3D":1wh.44" tabindex=3D"-1" style=3D"">sh=
ipdate</span>" <span class=3D"" id=3D":1wh.45" tabindex=3D"-1" style=
=3D"">btree</span> (l_<span class=3D"" id=3D":1wh.46" tabindex=3D"-1" style=
=3D"">shipdate</span>)<br>=C2=A0 =C2=A0 "i_l_<span class=3D"" id=3D":1=
wh.47" tabindex=3D"-1" style=3D"">suppkey</span>" <span class=3D"" id=
=3D":1wh.48" tabindex=3D"-1" style=3D"">btree</span> (l_<span class=3D"" id=
=3D":1wh.49" tabindex=3D"-1" style=3D"">suppkey</span>)<br>=C2=A0 =C2=A0 &q=
uot;i_l_<span class=3D"" id=3D":1wh.50" tabindex=3D"-1" style=3D"">suppkey<=
/span>_<span class=3D"" id=3D":1wh.51" tabindex=3D"-1" style=3D"">partkey</=
span>" <span class=3D"" id=3D":1wh.52" tabindex=3D"-1" style=3D"">btre=
e</span> (l_<span class=3D"" id=3D":1wh.53" tabindex=3D"-1" style=3D"">part=
key</span>, l_<span class=3D"" id=3D":1wh.54" tabindex=3D"-1" style=3D"">su=
ppkey</span>)<br></font></div><div class=3D"gmail_default" style=3D""><font=
face=3D"monospace"><br></font></div><div class=3D"gmail_default" style=3D"=
"><font face=3D"monospace"><span class=3D"" id=3D":1wh.55" tabindex=3D"-1" =
style=3D"">tpch</span>=3D# SELECT <span class=3D"" id=3D":1wh.56" tabindex=
=3D"-1" style=3D"">relname</span>, <span class=3D"" id=3D":1wh.57" tabindex=
=3D"-1" style=3D"">relpages</span>, <span class=3D"" id=3D":1wh.58" tabinde=
x=3D"-1" style=3D"">reltuples</span>, <span class=3D"" id=3D":1wh.59" tabin=
dex=3D"-1" style=3D"">relallvisible</span>, <span class=3D"" id=3D":1wh.60"=
tabindex=3D"-1" style=3D"">relkind</span>, <span class=3D"" id=3D":1wh.61"=
tabindex=3D"-1" style=3D"">relnatts</span>, <span class=3D"" id=3D":1wh.62=
" tabindex=3D"-1" style=3D"">relhassubclass</span>, <span class=3D"" id=3D"=
:1wh.63" tabindex=3D"-1" style=3D"">reloptions</span>, pg_table_size(<span =
class=3D"" id=3D":1wh.64" tabindex=3D"-1" style=3D"">oid</span>) FROM pg_cl=
ass WHERE <span class=3D"" id=3D":1wh.65" tabindex=3D"-1" style=3D"">relnam=
e</span>=3D'lineitem';<br>=C2=A0<span class=3D"" id=3D":1wh.66" tab=
index=3D"-1" style=3D"">relname</span> =C2=A0| <span class=3D"" id=3D":1wh.=
67" tabindex=3D"-1" style=3D"">relpages</span> | =C2=A0<span class=3D"" id=
=3D":1wh.68" tabindex=3D"-1" style=3D"">reltuples</span> =C2=A0 | <span cla=
ss=3D"" id=3D":1wh.69" tabindex=3D"-1" style=3D"">relallvisible</span> | <s=
pan class=3D"" id=3D":1wh.70" tabindex=3D"-1" style=3D"">relkind</span> | <=
span class=3D"" id=3D":1wh.71" tabindex=3D"-1" style=3D"">relnatts</span> |=
<span class=3D"" id=3D":1wh.72" tabindex=3D"-1" style=3D"">relhassubclass<=
/span> | <span class=3D"" id=3D":1wh.73" tabindex=3D"-1" style=3D"">relopti=
ons</span> | pg_table_size<br>----------+----------+--------------+--------=
-------+---------+----------+----------------+------------+---------------<=
br>=C2=A0<span class=3D"" id=3D":1wh.74" tabindex=3D"-1" style=3D"">lineite=
m</span> | =C2=A0 112503 | 6.001167e+06 | =C2=A0 =C2=A0 =C2=A0 =C2=A0112503=
| r =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 16 | f =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=
=C2=A0 =C2=A0 921903104<br>(1 row)</font><br></div><div class=3D"gmail_def=
ault" style=3D""><font face=3D"monospace"><br></font></div><div class=3D"gm=
ail_default" style=3D""><font face=3D"arial, sans-serif"><span class=3D"" i=
d=3D":1wh.75" tabindex=3D"-1" style=3D"">Postgresql</span> 12.0 and 12.1 ar=
e all=C2=A0</font>manually installed from source.</div><div class=3D"gmail_=
default" style=3D""><font face=3D"arial, sans-serif">Both are running on <s=
pan class=3D"" id=3D":1wh.76" tabindex=3D"-1" style=3D"">Ubuntu</span> 16.0=
4 kernel=C2=A0</font>4.4.0-142-generic, on Intel(R) Core(TM) i7-6700K.</div=
><div class=3D"gmail_default" style=3D""><br></div><div class=3D"gmail_defa=
ult" style=3D""><br></div><div class=3D"gmail_default" style=3D"">Any help =
greatly appreciated!</div><div class=3D"gmail_default" style=3D""><br></div=
><div class=3D"gmail_default" style=3D""><span class=3D"" id=3D":1wh.77" ta=
bindex=3D"-1" style=3D"">Shijia</span></div></div>
--00000000000021e5930599cbec12--