Postgres 11 beta - no JITing
Hello,
I am trying to assess the benefits of the new JIT feature in Postgres 11. However I can't figure out how to enable it.
I have a test server with "CentOS Linux release 7.5.1804"
I installed the beta using:
yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.4-x86_64/postgresql11-server-11.0-beta1_1PGDG.rhel7.x86_64.rpm
yum install postgresql11
yum install postgresql11-server
Then initdb and everything was up and running.
I checked the installation:
"show jit_provider" gives me: "llvmjit"
"show jit" gives me: "on"
pg_config reports that the beta was built with LLVM support.
I see --with-llvm in the output as well as 'LLVM_CONFIG=/usr/lib64/llvm5.0/bin/llvm-config'
But on my system there is no /usr/lib64/llvm5.0
So I ran "yum install llvm" which gave me: "llvm-libs-3.4.2-8.el7.x86_64" and "llvm-3.4.2-8.el7.x86_64" but still no /usr/lib64/llvm5.0)
And installing clang, gave me: clang.x86_64 3.4.2-8.el7
The cost of my test query is around 250000 - so even with the default configuration I would expect JITing to jump in.
As it didn't happen, I set jit_optimize_above_cost and jit_above_cost to 10, just to see what happens - still no JITing
I have uploaded one sample plan: https://explain.depesz.com/s/aVj2
Is there anything I need to install or enable in addition to what I have described?
I am not really experienced with managing a Linux system, so if I did some blatantly wrong things, please bare with me ;)
Thanks
Thomas
Hi,
On 2018-06-05 13:45:26 +0200, Thomas Kellerer wrote:
Hello,
I am trying to assess the benefits of the new JIT feature in Postgres 11. However I can't figure out how to enable it.
I have a test server with "CentOS Linux release 7.5.1804"
I installed the beta using:
yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.4-x86_64/postgresql11-server-11.0-beta1_1PGDG.rhel7.x86_64.rpm
yum install postgresql11
yum install postgresql11-server
I suspect the issue is that you also need the postgresql11-llvmjit
package. The LLVM support adds dependencies, so it's not included in the
main package.
Then initdb and everything was up and running.
I checked the installation:
"show jit_provider" gives me: "llvmjit"
"show jit" gives me: "on"
You can check whether support actually could be loaded with SELECT pg_jit_available();
Greetings,
Andres Freund
Andres Freund schrieb am 05.06.2018 um 14:34:
I am trying to assess the benefits of the new JIT feature in Postgres 11. However I can't figure out how to enable it.
I have a test server with "CentOS Linux release 7.5.1804"
I installed the beta using:
yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.4-x86_64/postgresql11-server-11.0-beta1_1PGDG.rhel7.x86_64.rpm
yum install postgresql11
yum install postgresql11-serverI suspect the issue is that you also need the postgresql11-llvmjit
package. The LLVM support adds dependencies, so it's not included in the
main package.
Ah, that was it, thanks.
(It took me a while to figure out how to also install llvm-5.0 for Centos 7, but I finally managed)