Описание


Дистрибутив представляет собой SQL-файл pghist_init.sql, который создает схему pghist с нужными процедурами.
Установка заключается в выполнении данного файла в терминальном клиенте psql или SQL-менеджере, например:
psql -d -mydb -f pghist_init.sql

Download SQL
pghist_init.sql

Если разрабочики не обладают правами суперпользователя, необходимо выдать им права на использование схемы pghist и ее процедур.
Для этого используется SQL-скрипт pghist_grants.sql с переменной roles, например
psql -d -mydb -f pghist_grants.sql -v roles=developers

Также можно скачать полный zip-архив с документацией, примерами, расширением, скриптами установки, выдачи прав и удаления.

Download ZIP
pghist.zip


Командная строка

При промышленном использовании установка осуществляется из командной строки с использованием терминального клиента psql:
1. Загружается и выполняется файл pghist_init.sql
wget -O - https://pghist.org/files/download/pghist_init.sql | psql -d [database]

2. Выдаются права разработчикам (необязательно)
wget -O - https://pghist.org/files/download/pghist_grants.sql | psql -d [database] -v roles=[developers]

Пример установки в базу данных test
$ wget -O - https://pghist.org/files/download/pghist_init.sql | psql -d test
--2024-04-02 19:39:28--  https://pghist.org/files/download/pghist_init.sql
Resolving pghist.org (pghist.org)... 194.67.205.60
Connecting to pghist.org (pghist.org)|194.67.205.60|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 45527 (44K) [application/octet-stream]
Saving to: ‘STDOUT’

100%[=================================================>] 45,527      --.-K/s   in 0s

2024-04-02 19:39:28 (97.7 MB/s) - written to stdout [45527/45527]

CREATE SCHEMA
CREATE FUNCTION
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
DO
CREATE FUNCTION
CREATE FUNCTION
CREATE PROCEDURE
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE PROCEDURE
CREATE PROCEDURE
CREATE PROCEDURE
CREATE PROCEDURE
CREATE PROCEDURE
CREATE FUNCTION
CREATE FUNCTION
DO
CREATE PROCEDURE
CREATE PROCEDURE
CREATE FUNCTION
CREATE FUNCTION
CREATE PROCEDURE
CREATE FUNCTION
CREATE FUNCTION
DO

$ wget -O - https://pghist.org/files/download/pghist_grants.sql | psql -d test -v roles=developer_1
--2024-04-02 19:40:46--  https://pghist.org/files/download/pghist_grants.sql
Resolving pghist.org (pghist.org)... 194.67.205.60
Connecting to pghist.org (pghist.org)|194.67.205.60|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1174 (1.1K) [application/octet-stream]
Saving to: ‘STDOUT’

100%[==============================================================>] 1,174       --.-K/s   in 0s

2024-04-02 19:40:46 (111 MB/s) - written to stdout [1174/1174]

GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT


Расширение (extension)

При установке инструмента в виде расширения необходимо распаковать архив pghist_extension.tar в директорию [sharedir]/extension установки postgres и создать расширение в базе данных, например (выполняется от root):
su - postgres -c "pg_config --sharedir"
tar xf pghist_extension.tar -C /usr/pgsql-14/share/extension
psql -U postgres -d mydb -c "create extension pghist"

Пример установки и создания в базе данных test
[root@pgsuite ~]# wget -O - https://pghist.org/files/download/pghist_extension.tar | tar x -C `su - postgres -c "pg_config --sharedir"`/extension
--2024-08-22 15:37:49--  https://pghist.org/files/download/pghist_extension.tar
Resolving pghist.org (pghist.org)... 194.67.205.60
Connecting to pghist.org (pghist.org)|194.67.205.60|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 51200 (50K) [application/octet-stream]
Saving to: ‘STDOUT’

100%[=====================================================================================================>] 51,200      --.-K/s   in 0.001s

2024-08-22 15:37:49 (71.0 MB/s) - written to stdout [51200/51200]

[root@pgsuite ~]# psql -U postgres -d test -c "create extension pghist"
CREATE EXTENSION


GitHub

Исходный код выложен в репозиторий GitHub


Лицензионное соглашение

Лицензионное соглашение

Свидетельство о регистрации