arkhipov / temporal_tables

Temporal Tables PostgreSQL Extension
BSD 2-Clause "Simplified" License
927 stars 46 forks source link

Postgres 12.0 Support #49

Closed yegorski closed 1 year ago

yegorski commented 4 years ago

Hey there 👋 We're currently using this extension with Postgres 9.6.14, installed on Alpine via pgxnclient install temporal_tables.

Now, we're migrating to Postgres 12 on RHEL 7.7. I've tried to install your extension from master source code, pointing PG_CONFIG to my Postgres 12 installation.

make failed. See attached log. Any pointers are appreciated.

temporal_tables_extension_postgres_12_0.log

make worked when pointing to my Postgres 10 installation on the same server.

Can I help somehow with support for Postgres versions above 10?

yegorski commented 4 years ago

Looks like @mlt added PG 12 support.

Just successfully tested the extension on my PG 12 installation by building his pg12 branch.

Is it time for a release tag to advertise that PG 12 is supported now?

eldamir commented 4 years ago

Thanks for the pointers @yegorski. Had to do some digging to find the branch you were referring to. I'm guessing it is the fork by @mlt located here: https://github.com/mlt/temporal_tables/tree/mlt

Is support for this current repo dying down? Seems scary. In the fork from @mlt he points to a different plugin, Periods, that I havn't tried out.

Anyway, will try the version of Temporal Tables that supposedly supports pg12, and then read up on the Periods thing.

Thanks for the pointers :)

yegorski commented 4 years ago

Cool. Yeah, that fork runs on Postgres 12 from my testing. The reason I continued to use Temporal Tables instead of Periods is because I wanted to lift-and-shift without rearchitecting how the app (Airflow) interacts with PG.

mlt commented 4 years ago

There is not much to re-architect other than splitting a single range column into 2 and use a function to enable versioning instead of setting up a trigger directly. AFAIK even if you used a partial versioning (excluding columns), it is there in periods.

darkojic commented 4 years ago

I am trying to install it into Windows 10x64. enviroment When I copy dll and sql files into lib, and share/extensions folder, and try to CREATE EXTENSION... I receive this error:

ERROR: could not load library "C:/Program Files/PostgreSQL/12/lib/temporal_tables.dll": The specified procedure could not be found.

OS: Windows 10 Professional x64 PostgreSQL: 12

yegorski commented 4 years ago

@darkojic, given that temporal_tables doesn't support PG12, I'm not sure how much time you want to spend trying to install it on Windows. I haven't installed it on Windows but FWIW this is what I did on a RHEL 7 server:

# tarball the https://github.com/mlt/temporal_tables/tree/pg12 code and copy to the server
tar -xvzf pg12_temporal_tables.tar.gz
cd pg12_temporal_tables

# update make to point to PG12 installation location
vim GNUmakefile
PG_CONFIG = /home/postgres/PostgreSQL-12/bin/pg_config

# install
make
make install

# restart PG12
pg_ctl -D /home/postgres/data/postgres12 -l logfile start
make installcheck
pg_ctl -D /home/postgres/data/postgres12 -l logfile stop

# install extension
psql
CREATE EXTENSION temporal_tables;
mlt commented 4 years ago

@darkojic Where did you get it from? https://github.com/mlt/temporal_tables/releases

darkojic commented 4 years ago

@mlt I was not awared of link you provided. I tried from here https://github.com/mlt/temporal_tables/tree/mlt

I tried from your new link, and it was installed succesfully.

PS. Just tried it, and works like a charm. :)

arkhipov commented 1 year ago

I just added GitHub Actions for PostgreSQL versions up to 15.