Описание
Дистрибутив представляет собой SQL-файл pghist_init.sql, который создает схему pghist с нужными процедурами.
Установка заключается в выполнении данного файла в терминальном клиенте psql или SQL-менеджере, например:
psql -d -mydb -f pghist_init.sql
Если разрабочики не обладают правами суперпользователя, необходимо выдать им права на использование схемы pghist и ее процедур.
Для этого используется SQL-скрипт pghist_grants.sql с переменной roles, например
psql -d -mydb -f pghist_grants.sql -v roles=developers
Также можно скачать полный 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
При установке инструмента в виде расширения необходимо распаковать архив 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

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