Описание
Дистрибутив представляет собой SQL-файл pgxls_init.sql, который создает схему pgxls с нужными процедурами.
Установка заключается в выполнении данного файла в терминальном клиенте psql или SQL-менеджере, например:
psql -d mydb -f pgxls_init.sql
Также можно скачать полный zip-архив с документацией, примерами, расширением, скриптами установки, выдачи прав и удаления.
Для удаления инструмента необходимо удалить схему pgxls, например:
psql -d mydb -c "drop schema if exists pgxls cascade"
При промышленном использовании установка осуществляется из командной строки с использованием терминального клиента psql, загружается и выполняется файл pghist_init.sql:
wget -O - https://pgxls.org/files/download/pgxls_init.sql | psql -d [database]
Пример установки в базу данных test
[postgres@pgsuite ~]$ wget -O - https://pgxls.org/files/download/pgxls_init.sql | psql -d test --2023-07-27 20:32:20-- https://pgxls.org/files/download/pgxls_init.sql Resolving pgxls.org (pgxls.org)... 194.67.205.60 Connecting to pgxls.org (pgxls.org)|194.67.205.60|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 65556 (64K) [application/octet-stream] Saving to: ‘STDOUT’ 100%[============================================================>] 65,556 --.-K/s in 0.002s 2023-07-27 20:32:20 (39.4 MB/s) - written to stdout [65556/65556] CREATE SCHEMA CREATE FUNCTION DO CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE PROCEDURE CREATE FUNCTION CREATE PROCEDURE DO CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE DO CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE FUNCTION CREATE FUNCTION CREATE PROCEDURE CREATE FUNCTION CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE PROCEDURE CREATE FUNCTION CREATE PROCEDURE CREATE PROCEDURE GRANT GRANT GRANT
При установке инструмента в виде расширения необходимо распаковать архив pgxls_extension.tar в директорию [sharedir]/extension установки postgres и создать расширение в базе данных, например (выполняется от root):
su - postgres -c "pg_config --sharedir"
tar xf pgxls_extension.tar -C /usr/pgsql-14/share/extension
psql -U postgres -d mydb -c "create extension pgxls"
Пример установки и создания в базе данных test
[root@pgsuite ~]# wget -O - https://pgxls.org/files/download/pgxls_extension.tar | tar x -C `su - postgres -c "pg_config --sharedir"`/extension --2024-08-14 20:26:22-- https://pgxls.org/files/download/pgxls_extension.tar Resolving pgxls.org (pgxls.org)... 194.67.205.60 Connecting to pgxls.org (pgxls.org)|194.67.205.60|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 71680 (70K) [application/octet-stream] Saving to: ‘STDOUT’ 100%[====================================================================================================>] 71,680 --.-K/s in 0.001s 2024-08-14 20:26:22 (82.8 MB/s) - written to stdout [71680/71680] [root@pgsuite ~]# psql -U postgres -d test -c "create extension pgxls" CREATE EXTENSION
По умолчанию права на использование схемы pgxls и ее процедур выдаются роли public, т.е. всем пользователям.
Если необходимо выдать права только разработчикам, то можно использовать SQL-скрипт pgxls_dev_grants.sql с переменной roles, например:
psql -d -mydb -f pgxls_dev_grants.sql -v roles=developers
Пример переназначения прав в базе данных test
[postgres@pgsuite ~]$ wget -O - https://pgxls.org/files/download/pgxls_dev_grants.sql | psql -d test -v roles=developer_1 --2024-08-15 13:06:39-- https://pgxls.org/files/download/pgxls_dev_grants.sql Resolving pgxls.org (pgxls.org)... 194.67.205.60 Connecting to pgxls.org (pgxls.org)|194.67.205.60|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 322 [application/octet-stream] Saving to: ‘STDOUT’ 100%[======================================================================================>] 322 --.-K/s in 0s 2024-08-15 13:06:39 (33.0 MB/s) - written to stdout [322/322] REVOKE REVOKE REVOKE GRANT GRANT GRANT
Исходный код выложен в репозиторий GitHub

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