Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

PostgreSQL table versioning management software

License

NotificationsYou must be signed in to change notification settings

linz/postgresql-tableversion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Actions Status

postgresql-tableversion

PostgreSQL table versioning extension, recording row modifications and its history. The extensionprovides APIs for accessing snapshots of a table at certain revisions and the difference generatedbetween any two given revisions. The extension uses a PL/PgSQL trigger based system to record andprovide access to the row revisions.

Easy Installation

Installpgxn-client which is hosted on PyPI:

$ sudo easy_install pgxnclient

Then do:

$ sudo pgxn install table_version

or sudo pgxn load -d my_db table_version

(Run pgxn --help for more info)

Installation via apt-get

Add apt repository:

# Enable fetching packages from packagecloud# production repository:$ curl -s \  https://packagecloud.io/install/repositories/linz/prod/script.deb.sh |  sudo bash

Then install the package (tweak the PGVER line if needed):

$ PGVER=$(basename `pg_config --sharedir`) \  sudo apt-get install postgresql-${PGVER}-tableversion

Hard Installation

To build it, just do this:

makemake installcheckmake install

If you encounter an error such as:

"Makefile", line 8: Need an operator

You need to use GNU make, which may well be installed on your system asgmake:

gmakegmake installgmake installcheck

If you encounter an error such as:

make: pg_config: Command not found

Be sure that you havepg_config installed and in your path. If you used a package managementsystem such as RPM to install PostgreSQL, be sure that the-devel package is also installed. Ifnecessary tell the build process where to find it:

env PG_CONFIG=/path/to/pg_config make && make installcheck && make install

And finally, if all that fails (and if you're on PostgreSQL 8.1 or lower, it likely will), copy theentire distribution directory to thecontrib/ subdirectory of the PostgreSQL source tree and tryit there withoutpg_config:

env NO_PGXS=1 make && make installcheck && make install

If you encounter an error such as:

ERROR:  must be owner of database regression

You need to run the test suite using a super user, such as the default "postgres" super user:

make installcheck PGUSER=postgres

Installing the extension in a database

As an extension

Oncetable_version is installed, you can add it to a database. If you're running PostgreSQL 9.1.0or greater, it's a simple as connecting to a database as a super user and running:

CREATE EXTENSION table_version;

The extension will install support configuration tables and functions into thetable_versionschema.

If you're ugrading from an older version of the extension run:

ALTER EXTENSION table_version UPDATE;

If you've upgraded your cluster to PostgreSQL 9.1 and already hadtable_version installed, you canupgrade it to a properly packaged extension with:

CREATE EXTENSION table_version FROM unpackaged;

As a facility, thetable_version-loader script can be used to both create (but not fromunpackaged) and upgrade the extension in an existing database. To use it run:

    table_version-loader <dbname>

As a set of scripts

If it is not possible to installtable_version as an extension in your database cluster system youcan still use it by loading the support scripts in your database. Thetable_version-loader scriptcan be used to make this easy, just run:

table_version-loader --no-extension <dbname>

Connection information (postgresql hostname, port, username, password) can all be set using standardenvironment variables PGHOST, PGPORT, PGUSER, PGPASSWORD.

Dependencies

Thetable_version extension has no dependencies other than PL/PgSQL.

Test

Installation and upgrade tests use Docker containers. See.github/workflows/test.yml for how totest various aspects.

License

This project is under 3-clause BSD License, except where otherwise specified. See the LICENSE filefor more details.

About

PostgreSQL table versioning management software

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors10


[8]ページ先頭

©2009-2025 Movatter.jp