Описание
Дистрибутив представляет собой SQL-файл pgxls.sql, который создает схему
pgxls с нужными процедурами.Для установки достаточно привилегии
create schema (есть у владельца БД),
инструмент полностью написан на встроенном языке PL/pgSQL без внешних зависимостей и
гарантированно поддерживает версию PostgreSQL 12+.Установка заключается в выполнении данного файла в консольном клиенте psql или SQL-менеджере, например:
psql -d mydb -f pgxls.sql
Также можно скачать полный zip-архив с документацией, примерами, расширением, скриптами установки, выдачи прав и удаления.
Для удаления инструмента необходимо удалить схему pgxls, например:
psql -d mydb -c "drop schema if exists pgxls cascade"
При промышленном использовании установка осуществляется из командной строки с использованием терминального клиента psql, загружается и выполняется файл pgxls.sql:
curl https://pgxls.org/files/download/pgxls.sql | psql [database]
Пример установки в базу данных test
postgres@debian:~$ curl https://pgxls.org/files/download/pgxls.sql | psql mydb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 70359 100 70359 0 0 661k 0 --:--:-- --:--:-- --:--:-- 667k
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 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
DO
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 PROCEDURE
CREATE PROCEDURE
CREATE PROCEDURE
CREATE FUNCTION
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 PROCEDURE
CREATE PROCEDURE
CREATE FUNCTION
CREATE PROCEDURE
CREATE PROCEDURE
GRANT
GRANT
GRANT
Дополнительно к рекомендуемой установке через простое создание схемы инструмент можно установить в виде расширения. Для этого необходимо распаковать архив pgxls_extension.tar в директорию [sharedir]/extension установки postgresql и создать расширение в базе данных, например (выполняется от root):
pg_config --sharedir
tar xf pgxls_extension.tar -C /usr/pgsql-14/share/extension
psql -U postgres -d mydb -c "create extension pgxls"
Пример установки и создания в базе данных mydb
root@debian:~# curl https://pgxls.org/files/download/pgxls_extension.tar | tar x -C $(pg_config --sharedir)/extension
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 81920 100 81920 0 0 1096k 0 --:--:-- --:--:-- --:--:-- 1111k
root@debian:~# psql -U postgres -d mydb -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
Пример переназначения прав в базе данных mydb
postgres@debian:~$ curl https://pgxls.org/files/download/pgxls_dev_grants.sql | psql mydb -v roles=r_analysts
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 322 100 322 0 0 5030 0 --:--:-- --:--:-- --:--:-- 5111
REVOKE
REVOKE
REVOKE
GRANT
GRANT
GRANT
Исходный код выложен в репозиторий GitHub
Свидетельство о регистрации