Описание
Дистрибутив представляет собой 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, загружается и выполняется файл pgxls_init.sql:
curl https://pgxls.org/files/download/pgxls_init.sql | psql [database]
Пример установки в базу данных test
postgres@debian:~$ curl https://pgxls.org/files/download/pgxls_init.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
Свидетельство о регистрации