Описание


Дистрибутив представляет собой 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, загружается и выполняется файл 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


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

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

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


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

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

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