Загрузим необходимые файлы для установки СУБД-КС в соответствии со своей версией Linux:
cd /opt
wget https://keysystems.ru/files/users/gary/pgsqlks/dks-pgsqlks-16.1_d11.tar.gz --no-check-certificate
chmod +x dks-pgsqlks-16.1_d11.tar.gz
tar -C /opt/ -xvf dks-pgsqlks-16.1_d11.tar.gz
Узнать дополнительные параметры установки можно перейдя в каталог /opt/dks-pgsqlks-16.1/ и выполнив команду:
cd /opt/dks-pgsqlks-16.1
./install.sh --help
Установим «СУБД-КС Docker» порт 5432 с паролем «123» на пользователя dbo и postgres в Docker. Сначала определим установленные локали. Для этого выполним команду:
locale -a | grep ru
Установка локали ru_RU.utf8 и СУБД:
/opt/dks-pgsqlks-16.1/install.sh -p 5432 -pwd 123 -cs docker -l ru_RU.utf8
Возможные проблемы (следующие действия необходимо выполнить перед началом установки «СУБД-КС Docker»).
Ошибка на этапе построения конечного образа:
OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:297: applying cgroup configuration for process caused \"open /sys/fs/cgroup/docker/a128d2d4e788b100547e0fe2c85f363ea109007b5fb15a9b8f8324a0fdc1d9f8/cpuset.cpus.effective: no such file or directory\"": unknown
Решение: (RedOS MUROM 7.3) Внимание, последняя команда перегрузит хост:
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
reboot
Для изменения пароля учетной записи "dbo" на "123456" (или любой другой) в «СУБД-КС Docker» версии 16.1, работающего на порту 5432 используйте в консоли команду:
bash /opt/pgsqlks-16.1/utility/5432/psql.sh -h 127.0.0.1 -c "ALTER ROLE dbo WITH PASSWORD '123';"
Для создания БД кэша "web_cache" и учетной записи "wc_user" пароль "123" для работы с ней в «СУБД-КС Docker» версии 16.1 работающего на порту 5432 выполним в консоли команду:
bash /opt/pgsqlks-16.1/utility/5432/psql.sh -h 127.0.0.1 -c "create database web_cache;"
bash /opt/pgsqlks-16.1/utility/5432/psql.sh -h 127.0.0.1 -c "CREATE USER wc_user WITH PASSWORD '123';"
bash /opt/pgsqlks-16.1/utility/5432/psql.sh -h 127.0.0.1 -c "GRANT ALL PRIVILEGES ON DATABASE web_cache TO wc_user;"
bash /opt/pgsqlks-16.1/utility/5432/psql.sh -h 127.0.0.1 -c "GRANT ALL ON SCHEMA public TO wc_user;"
Просмотреть информацию о базе web_cache можно так:
bash /opt/pgsqlks-16.1/utility/5432/psql.sh -h 127.0.0.1 -c "SELECT datname As Имя, pg_size_pretty(pg_database_size(pg_database.datname)) As Размер, datacl As Права_доступа FROM pg_database WHERE datname='web_cache' ORDER BY datname asc;"
Узнать размер БД кэша "web_cache" в «СУБД-КС Docker» версии 16.1, работающего на порту 5432:
bash /opt/pgsqlks-16.1/utility/5432/psql.sh -h 127.0.0.1 -c "SELECT pg_size_pretty( pg_database_size( 'web_cache' ) );"
Просмотр процессов и состояния в контейнере выполняется через запуск скрипта с указание порта как параметра:
bash /opt/dks-pgsqlks-16.1/info.sh -p <порт>
Если параметр не указан, то выводится общая информация по всем существующим контейнерам.
Перезапуск контейнера с инстансом СУБД:
systemctl restart pgsqlks-16.1_5432
Статус контейнера с инстансом СУБД:
systemctl status pgsqlks-16.1_5432
Остановка контейнера с инстансом СУБД:
systemctl stop pgsqlks-16.1_5432.service
Запуск контейнера с инстансом СУБД:
systemctl start pgsqlks-16.1_5432.service
Удаление инстанса СУБД, установленного по порту, выполняется через команду:
bash /opt/dks-pgsqlks-16.1/uninstall.sh –p 5432
Скрипт pgsqlks_utils.sh позволяет выполнять следующие действия с "СУБД-КС" локально на Linux-сервере:
Создайте и отредактируйте файл /etc/systemd/nano /etc/systemd/logind.conf:
nano /etc/systemd/logind.conf
Исправьте параметр:
KillUserProcesses=no
Перезапустите systemd-logind.service:
systemctl restart systemd-logind
Перед запуском скрипта pgsqlks_utils.sh создайте/присоединитесь к сессии с именем KS. После разрыва соединения к сессии можно снова соединиться той же командой. Дополнительные команды:
tmux ls #получить список сессий
exit #закрыть сессию
tmux kill-session -t KS #закрыть сессию из хоста
Скрипт можно скачать с помощью:
sudo su
wget -O /opt/pgsqlks_utils.sh https://keysystems.ru/files/web/Scripts/PG/pgsqlks_utils.sh --no-check-certificate
chown root:root /opt/pgsqlks_utils.sh
chmod 770 /opt/pgsqlks_utils.sh
Для запуска скрипта можно использовать:
bash /opt/pgsqlks_utils.sh