Installing extension temporal_tables for PG13

Started by Hover 2 years ago12 messagesgeneral
Jump to latest
#1H
agents@meddatainc.com

Running Centos7 and PG13. I'd like to install the temporal_tables extension but it does not seem to exist in postgresql13-contrib.

I did find the source code at https://github.com/arkhipov3/temporal_tables which suggests to use the pgxn client to install it. The link to this client found on this page - pgxnclient.projects.pgfoundry.org - however, is non-functional.

Am I correct in that I need to either find the client pgxn alternatively install the development environment and compile the source code for this extension?

Thank you.

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: H (#1)
Re: Installing extension temporal_tables for PG13

On 11/27/23 15:37, H wrote:

Running Centos7 and PG13. I'd like to install the temporal_tables extension but it does not seem to exist in postgresql13-contrib.

If it is not here:

https://www.postgresql.org/docs/13/contrib.html

then it won't be in postgresql13-contrib.

I did find the source code at https://github.com/arkhipov3/temporal_tables which suggests to use the pgxn client to install it. The link to this client found on this page - pgxnclient.projects.pgfoundry.org - however, is non-functional.

The link above did not work for me, the below did:

https://github.com/arkhipov/temporal_tables

Am I correct in that I need to either find the client pgxn alternatively install the development environment and compile the source code for this extension?

Yes.

Thank you.

--
Adrian Klaver
adrian.klaver@aklaver.com

#3H
agents@meddatainc.com
In reply to: Adrian Klaver (#2)
Re: Installing extension temporal_tables for PG13

On November 27, 2023 6:58:40 PM GMT-05:00, Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/27/23 15:37, H wrote:

Running Centos7 and PG13. I'd like to install the temporal_tables

extension but it does not seem to exist in postgresql13-contrib.

If it is not here:

https://www.postgresql.org/docs/13/contrib.html

then it won't be in postgresql13-contrib.

I did find the source code at

https://github.com/arkhipov3/temporal_tables which suggests to use the
pgxn client to install it. The link to this client found on this page -
pgxnclient.projects.pgfoundry.org - however, is non-functional.

The link above did not work for me, the below did:

https://github.com/arkhipov/temporal_tables

Am I correct in that I need to either find the client pgxn

alternatively install the development environment and compile the
source code for this extension?

Yes.

Thank you.

The link to the pgxn client on the arkhipov's page leads to a non-functioning website: pgxnclient.projects.pgfoundry.org.

Does anyone if the pgxn client can be found somewhere else?

#4Adrian Klaver
adrian.klaver@aklaver.com
In reply to: H (#3)
Re: Installing extension temporal_tables for PG13

On 11/27/23 16:18, H wrote:

On November 27, 2023 6:58:40 PM GMT-05:00, Adrian Klaver <adrian.klaver@aklaver.com> wrote:

The link to the pgxn client on the arkhipov's page leads to a non-functioning website: pgxnclient.projects.pgfoundry.org.

Does anyone if the pgxn client can be found somewhere else?

https://pgxn.org/faq/

PGXN Client

Is there a command-line client for installing extensions from PGXN?
There is! Install it with this command:

sudo easy_install pgxnclient

Then you can install PGXN extensions with a simple command:

pgxn install pair

Run pgxn help to get a list of supported commands; or check out the
introductory blog, the complete documentation or the source code.

--
Adrian Klaver
adrian.klaver@aklaver.com

#5Adrian Klaver
adrian.klaver@aklaver.com
In reply to: H (#3)
Re: Installing extension temporal_tables for PG13

On 11/27/23 16:18, H wrote:

The link to the pgxn client on the arkhipov's page leads to a non-functioning website: pgxnclient.projects.pgfoundry.org.

Does anyone if the pgxn client can be found somewhere else?

Or:

https://pgxn.github.io/pgxnclient/

--
Adrian Klaver
adrian.klaver@aklaver.com

#6H
agents@meddatainc.com
In reply to: Adrian Klaver (#5)
Re: Installing extension temporal_tables for PG13

On 11/27/2023 07:26 PM, Adrian Klaver wrote:

On 11/27/23 16:18, H wrote:

The link to the pgxn client on the arkhipov's page leads to a non-functioning website: pgxnclient.projects.pgfoundry.org.

Does anyone if the pgxn client can be found somewhere else?

Or:

https://pgxn.github.io/pgxnclient/

Downloaded pgxn and first running:

pgxn install temporal_tables

but then running into another problem:

GNUmakefile:25: /usr/pgsql-13/lib/pgxs/src/makefiles/pgxs.mk: No such file or directory
gmake: *** No rule to make target `/usr/pgsql-13/lib/pgxs/src/makefiles/pgxs.mk'.  Stop.
ERROR: command returned 2: gmake PG_CONFIG=/usr/pgsql-13/bin/pg_config all

I have both make and gmake installed on the system but the issue seems to be that the file pgxs.mk does not exist? In fact, I can see that /usr/pgsql-13/lib/pgxs directory does not exist.

Suggestions?

#7Adrian Klaver
adrian.klaver@aklaver.com
In reply to: H (#6)
Re: Installing extension temporal_tables for PG13

On 11/27/23 17:17, H wrote:

On 11/27/2023 07:26 PM, Adrian Klaver wrote:

On 11/27/23 16:18, H wrote:

The link to the pgxn client on the arkhipov's page leads to a non-functioning website: pgxnclient.projects.pgfoundry.org.

Does anyone if the pgxn client can be found somewhere else?

Or:

https://pgxn.github.io/pgxnclient/

Downloaded pgxn and first running:

pgxn install temporal_tables

but then running into another problem:

GNUmakefile:25: /usr/pgsql-13/lib/pgxs/src/makefiles/pgxs.mk: No such file or directory
gmake: *** No rule to make target `/usr/pgsql-13/lib/pgxs/src/makefiles/pgxs.mk'.  Stop.
ERROR: command returned 2: gmake PG_CONFIG=/usr/pgsql-13/bin/pg_config all

I have both make and gmake installed on the system but the issue seems to be that the file pgxs.mk does not exist? In fact, I can see that /usr/pgsql-13/lib/pgxs directory does not exist.

Suggestions?

What does running

pg_config

at the command line return?

--
Adrian Klaver
adrian.klaver@aklaver.com

#8H
agents@meddatainc.com
In reply to: Adrian Klaver (#7)
Re: Installing extension temporal_tables for PG13

On 11/27/2023 08:38 PM, Adrian Klaver wrote:

On 11/27/23 17:17, H wrote:

On 11/27/2023 07:26 PM, Adrian Klaver wrote:

On 11/27/23 16:18, H wrote:

The link to the pgxn client on the arkhipov's page leads to a non-functioning website: pgxnclient.projects.pgfoundry.org.

Does anyone if the pgxn client can be found somewhere else?

Or:

https://pgxn.github.io/pgxnclient/

Downloaded pgxn and first running:

pgxn install temporal_tables

but then running into another problem:

GNUmakefile:25: /usr/pgsql-13/lib/pgxs/src/makefiles/pgxs.mk: No such file or directory
gmake: *** No rule to make target `/usr/pgsql-13/lib/pgxs/src/makefiles/pgxs.mk'.  Stop.
ERROR: command returned 2: gmake PG_CONFIG=/usr/pgsql-13/bin/pg_config all

I have both make and gmake installed on the system but the issue seems to be that the file pgxs.mk does not exist? In fact, I can see that /usr/pgsql-13/lib/pgxs directory does not exist.

Suggestions?

What does running

   pg_config

at the command line return?

BINDIR = /usr/pgsql-13/bin
DOCDIR = /usr/pgsql-13/doc
HTMLDIR = /usr/pgsql-13/doc/html
INCLUDEDIR = /usr/pgsql-13/include
PKGINCLUDEDIR = /usr/pgsql-13/include
INCLUDEDIR-SERVER = /usr/pgsql-13/include/server
LIBDIR = /usr/pgsql-13/lib
PKGLIBDIR = /usr/pgsql-13/lib
LOCALEDIR = /usr/pgsql-13/share/locale
MANDIR = /usr/pgsql-13/share/man
SHAREDIR = /usr/pgsql-13/share
SYSCONFDIR = /etc/sysconfig/pgsql
PGXS = /usr/pgsql-13/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE =  '--enable-rpath' '--prefix=/usr/pgsql-13' '--includedir=/usr/pgsql-13/include' '--mandir=/usr/pgsql-13/share/man' '--datadir=/usr/pgsql-13/share' '--libdir=/usr/pgsql-13/lib' '--enable-tap-tests' '--with-icu' '--with-llvm' '--with-perl' '--with-python' '--with-tcl' '--with-tclconfig=/usr/lib64' '--with-openssl' '--with-pam' '--with-gssapi' '--with-includes=/usr/include' '--with-libraries=/usr/lib64' '--enable-nls' '--enable-dtrace' '--with-uuid=e2fs' '--with-libxml' '--with-libxslt' '--with-ldap' '--with-selinux' '--with-systemd' '--with-system-tzdata=/usr/share/zoneinfo' '--sysconfdir=/etc/sysconfig/pgsql' '--docdir=/usr/pgsql-13/doc' '--htmldir=/usr/pgsql-13/doc/html' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,--as-needed' 'LLVM_CONFIG=/usr/lib64/llvm5.0/bin/llvm-config' 'CLANG=/opt/rh/llvm-toolset-7/root/usr/bin/clang'
'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' 'PYTHON=/usr/bin/python3'
CC = gcc -std=gnu99
CPPFLAGS = -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic
CFLAGS_SL = -fPIC
LDFLAGS = -Wl,--as-needed -L/usr/lib64/llvm5.0/lib -L/usr/lib64 -Wl,--as-needed -Wl,-rpath,'/usr/pgsql-13/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lpthread -lselinux -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lrt -ldl -lm
VERSION = PostgreSQL 13.13

#9Adrian Klaver
adrian.klaver@aklaver.com
In reply to: H (#8)
Re: Installing extension temporal_tables for PG13

On 11/27/23 17:41, H wrote:

On 11/27/2023 08:38 PM, Adrian Klaver wrote:

On 11/27/23 17:17, H wrote:

I have both make and gmake installed on the system but the issue seems to be that the file pgxs.mk does not exist? In fact, I can see that /usr/pgsql-13/lib/pgxs directory does not exist.

Suggestions?

What does running

   pg_config

at the command line return?

BINDIR = /usr/pgsql-13/bin

I don't use PGXN so I am flying blind here. You may need to do:

sudo pgxn install temporal_tables

--
Adrian Klaver
adrian.klaver@aklaver.com

#10H
agents@meddatainc.com
In reply to: Adrian Klaver (#9)
Re: Installing extension temporal_tables for PG13

On November 27, 2023 8:48:35 PM GMT-05:00, Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/27/23 17:41, H wrote:

On 11/27/2023 08:38 PM, Adrian Klaver wrote:

On 11/27/23 17:17, H wrote:

I have both make and gmake installed on the system but the issue

seems to be that the file pgxs.mk does not exist? In fact, I can see
that /usr/pgsql-13/lib/pgxs directory does not exist.

Suggestions?

What does running

   pg_config

at the command line return?

BINDIR = /usr/pgsql-13/bin

I don't use PGXN so I am flying blind here. You may need to do:

sudo pgxn install temporal_tables

I ran pgxn install temporal_tables as root so that should not be the problem.

#11Adrian Klaver
adrian.klaver@aklaver.com
In reply to: H (#10)
Re: Installing extension temporal_tables for PG13

On 11/27/23 18:18, H wrote:

On November 27, 2023 8:48:35 PM GMT-05:00, Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/27/23 17:41, H wrote:

On 11/27/2023 08:38 PM, Adrian Klaver wrote:

On 11/27/23 17:17, H wrote:

I don't use PGXN so I am flying blind here. You may need to do:

sudo pgxn install temporal_tables

I ran pgxn install temporal_tables as root so that should not be the problem.

On an old machine running openSUSE I did:

sudo pgxn install --pg_config=/usr/local/pgsql15/bin/pg_config
temporal_tables

Where this

l /usr/local/pgsql15/lib64/pgxs/src/makefiles/pgxs.mk
-rw-r--r-- 1 root root 14768 Sep 25 09:23
/usr/local/pgsql15/lib64/pgxs/src/makefiles/pgxs.mk

was already installed. I presume as part of the source build I did for
Postgres 15.

Maybe the Centos packaging has a separate package you need to install to
get the PGXS infrastructure?

--
Adrian Klaver
adrian.klaver@aklaver.com

#12H
agents@meddatainc.com
In reply to: Adrian Klaver (#11)
Re: Installing extension temporal_tables for PG13

On 11/28/2023 12:38 AM, Adrian Klaver wrote:

On 11/27/23 18:18, H wrote:

On November 27, 2023 8:48:35 PM GMT-05:00, Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/27/23 17:41, H wrote:

On 11/27/2023 08:38 PM, Adrian Klaver wrote:

On 11/27/23 17:17, H wrote:

I don't use PGXN so I am flying blind here. You may need to do:

sudo pgxn install temporal_tables

I ran pgxn install temporal_tables as root so that should not be the problem.

On an old machine running openSUSE  I did:

sudo pgxn install --pg_config=/usr/local/pgsql15/bin/pg_config temporal_tables

Where this

 l /usr/local/pgsql15/lib64/pgxs/src/makefiles/pgxs.mk
-rw-r--r-- 1 root root 14768 Sep 25 09:23 /usr/local/pgsql15/lib64/pgxs/src/makefiles/pgxs.mk

was already installed. I presume as part of the source build I did for Postgres 15.

Maybe the Centos packaging has a separate package you need to install to get the PGXS infrastructure?

It took a little bit of work and required multiple steps since pgxs is part of the postgresql13-devel package. It also required upgrading LLVM and installing gcc. Note that I am running this particular postgresql13 installation in a docker container.

With pgxs installed I could then proceed to install temporal_tables extension using pgxn.

Thank you for pointing me in the right direction.