Описание


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

Download SQL
pgxls_init.sql

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

Download zip
pgxls.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


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

При установке инструмента в виде расширения необходимо распаковать архив 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

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


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

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

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