Установка и настройка PostgreSQL в Porteus

Добро пожаловать!

Moderator: Blaze

User avatar
Blaze
DEV Team
DEV Team
Posts: 3869
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Установка и настройка PostgreSQL в Porteus

Post#1 by Blaze » 12 Aug 2017, 09:52

PostgreSQL - свободная объектно-реляционная система управления базами данных (СУБД).
Установка PostgreSQL и pgAdmin в Porteus
Открываем терминал и вводим команды:

Code: Select all

su
toor
usm -u usm
usm -u all
usm -g postgresql
usm -g pgadmin
после чего необходимо скопировать и активировать загруженные модули из /tmp/usm/ в /mnt/sdb1/porteus/modules
где sdb1 - это раздел с установленным Porteus.
Первоначальная настройка PostgreSQL в Porteus

1) Добавляем пользователя postgres и задаем пароль для него, например postgres

Code: Select all

su
toor
groupadd -g 209 postgres
useradd -u 209 -g 209 -d /var/lib/pgsql -c "PostgreSQL" postgres
passwd postgres
chown postgres:postgres -R /var/lib/pgsql
chmod +755 /etc/rc.d/rc.postgresql
echo '/etc/rc.d/rc.postgresql start' >> /etc/rc.d/rc.local
sed -i "s|/usr/games|/usr/games:"$(/bin/ls -d /usr/lib*/postgresql/*/bin)"|g" /etc/profile
2) Инициализируем кластер с нужной локалью (она должна быть доступна в системе).
Обратите внимание, что в данном примере используется ru_RU.UTF-8 и кодировка UTF8

Code: Select all

su postgres -c "/usr/lib64/postgresql/*/bin/initdb -D /var/lib/pgsql/14/data --locale=ru_RU.UTF-8 -E UTF8 -A md5 -W"
Заметка. Параметр -D задаёт место, куда будут помещены данные PostgreSQL.
Вы так же можете задать свой путь для сохранения данных PostgreSQL, но при создании пользователя postgres (см. пункт 1), необходимо задать этот путь к новому домашнему каталогу, вместо /var/lib/pgsql
Вводим и повторяем пароль для суперпользователя БД PostgreSQL - например пароль test (его необходимо запомнить)

Code: Select all

Пароль: 
Файлы, относящиеся к этой СУБД, будут принадлежать пользователю "postgres".
От его имени также будет запускаться процесс сервера.

Кластер баз данных будет инициализирован с локалью "ru_RU.UTF-8".
Выбрана конфигурация текстового поиска по умолчанию "russian".

Контроль целостности страниц данных отключён.

Введите новый пароль суперпользователя: 
Повторите его: 

исправление прав для существующего каталога /var/lib/pgsql/11.2/data... ок
создание подкаталогов... ок
выбирается значение max_connections... 100
выбирается значение shared_buffers... 128MB
выбор реализации динамической разделяемой памяти... posix
создание конфигурационных файлов... ок
выполняется подготовительный скрипт... ок
выполняется заключительная инициализация... ок
сохранение данных на диске... ок

Готово. Теперь вы можете запустить сервер баз данных:

    /usr/lib64/postgresql/11.2/bin/pg_ctl -D /var/lib/pgsql/11.2/data -l файл_журнала start
3) Под учетной записью root запускаем PostgreSQL

Code: Select all

/etc/rc.d/rc.postgresql start

Code: Select all

Starting PostgreSQL
ожидание запуска сервера.... готово
сервер запущен
  • Файлы базы данных находятся по умолчанию /var/lib/pgsql/11.2/data/base
  • /var/lib/pgsql/11.2/data/postgresql.conf - основной конфигурационный файл, содержащий параметры сервера баз данных.
  • /var/lib/pgsql/11.2/data/pg_hba.conf - файл, определяющий настройки доступа к серверу баз данных.
4) Авторизуемся под пользователем postgres и запускаем основную оболочку базы данных, в которой мы сможем создавать, удалять базы данных/таблицы, задавать права и запускать команды SQL.

Code: Select all

su - postgres
# если Вы под учетной записью guest, то вводим пароль от учетной записи postgres - в данном примере пароль postgres
psql
# вводим пароль от суперпользователя БД PostgreSQL - в данном примере это test
Заметка. Вы также можете использовать `psql <database_name>` для редактирования конкретной базы данных.
  • Список всех возможных команд (например, CREATE TABLE) для запросов

    Code: Select all

    \h
  • Подробное описание команды

    Code: Select all

    \h CREATE_TABLE
  • Подключаем определённую базу данных

    Code: Select all

    \c <database>
  • Список всех пользователей и их уровни доступа

    Code: Select all

    \du

    Code: Select all

    postgres=# \du
                                       List of roles
     Role name |                         Attributes                         | Member of 
    -----------+------------------------------------------------------------+-----------
     postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
    
    postgres=# 
  • Краткая информация о всех таблицах в текущей базе данных

    Code: Select all

    \dt
  • Меняем пароль

    Code: Select all

    \password
  • Показать все используемые настройки

    Code: Select all

    SHOW ALL;
  • Выйти из psql

    Code: Select all

    \q или CTRL+d
Есть, конечно, много других мета-команд, но именно эти должны помочь вам начать работу.

Первоначальная настройка pgAdmin в Porteus
Если вас пугает терминал и нужен более интуитивный способ работать с базой данных, то можно использовать pgAdmin. pgAdmin - это свободное кроссплатформенное (работающее и в *nix, и в Windows) программное обеспечение, предоставляющее графический интерфейс для работы с базой данных.
1) Запускаем pgAdmin4 из терминала

Code: Select all

su
toor
python /usr/lib/pgadmin4/web/pgAdmin4.py
после чего pgAdmin4 будет доступен по адресу http://127.0.0.1:5050/

2) Открываем в браузере http://127.0.0.1:5050/
Image Image
Для смены языка на русский язык заходим в File > Preferences (или Configure pgAdmin) > Miscellaneous > User language > Russian > жмем Save и в браузере жмем F5 для обновления страницы.

3) В открывшемся окне нажимаем 'Добавить новый сервер'.
Image
И указываем следующие параметры:
Image Image
Имя/адрес сервера - произвольная строка по которой вы сможете идентифицировать сервер в списке доступных серверов;
Хост - адрес хоста на котором запущен PostgreSQL (обычно localhost);
Порт - порт, который прослушивает PostgfeSQL (по умолчанию 5432);
Имя пользователя - postgres;
Пароль - Ваш пароль (в нашем примере пароль test);
4) Далее необходимо зайти в Файл > Настройки (или Настроить pgAdmin) > Пути > Пути программ > в:
  • Каталог программ EDB Advanced Server
  • Каталог программ Greenplum
  • Каталог программ PostgreSQL
указываем путь к каталогу, содержащему служебные программы (pg_dump, pg_restore и т.д.) и жмем Сохранить.
Image
Заметка. В моем примере путь к каталогу, содержащему служебные программы (pg_dump, pg_restore и т.д.) - /usr/lib64/postgresql/11.2/bin
Данный путь можно узнать в терминале командой

Code: Select all

which pg_dump
После чего можно создавать, удалять базы данных, выполнять запросы т.д.

Готовый пак postgresql-11.2_pgadmin4-4.2_deps.tar.gz от 12.03.2019 (тестировался в KDE5)

Code: Select all

Flask-0.12.2-x86_64-2_slonly.xzm
Flask-Gravatar-0.4.2-x86_64-3_slonly.xzm
Flask-HTMLmin-1.2-x86_64-3_slonly.xzm
Flask-Login-0.4.0-x86_64-3_slonly.xzm
Flask-Mail-0.9.1-x86_64-4_slonly.xzm
Flask-Migrate-2.4.0-x86_64-1_SBo.xzm
Flask-Principal-0.4.0-x86_64-4_slonly.xzm
Flask-SQLAlchemy-2.1-x86_64-5_slonly.xzm
Flask-Security-1.7.5-x86_64-2_slonly.xzm
Flask-WTF-0.14.2-x86_64-3_slonly.xzm
Jinja2-2.7.3-x86_64-2_slonly.xzm
MarkupSafe-0.23-x86_64-2_slonly.xzm
SQLAlchemy-1.1.13-x86_64-1_slonly.xzm
WTForms-2.1-x86_64-2_slonly.xzm
asn1crypto-0.21.1-x86_64-2_slonly.xzm
babel-2.5.3-x86_64-1ponce.xzm
blinker-1.4-x86_64-2_slonly.xzm
cffi-1.10.0-x86_64-2_slonly.xzm
click-7.0-x86_64-1dj.xzm
enum34-1.1.6-x86_64-1_slonly.xzm
flask-babelex-d699306-x86_64-1_SBo.xzm
flask-paranoid-0.2-x86_64-1_SBo.xzm
htmlmin-0.1.10-x86_64-2_slonly.xzm
ipaddress-1.0.17-x86_64-1_slonly.xzm
itsdangerous-0.24-x86_64-2_slonly.xzm
paramiko-2.1.2-x86_64-1_slonly.xzm
passlib-1.7.1-x86_64-2_slonly.xzm
pgadmin4-4.2-1-x86_64-archlinux.xzm
postgresql-11.2-x86_64-1_SBo.xzm
psutil-5.3.0-x86_64-1_slonly.xzm
psycopg2-2.7.7-x86_64-2cf.xzm
pyasn1-0.1.9-x86_64-2_slonly.xzm
python-cryptography-2.4.2-x86_64-1dj.xzm
python-dateutil-2.6.1-x86_64-2_slonly.xzm
python-idna-2.8-x86_64-2.xzm
pytz-2018.3-x86_64-1ponce.xzm
simplejson-3.16.1-x86_64-1cf.xzm
sqlparse-0.2.3-x86_64-1_slonly.xzm
sshtunnel-0.1.4-x86_64-2cf.xzm
werkzeug-0.9.4-x86_64-2_slonly.xzm
Linux 6.6.11-porteus #1 SMP PREEMPT_DYNAMIC Sun Jan 14 12:07:37 MSK 2024 x86_64 Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Navi 23 [Radeon RX 6600] [1002:73ff] (rev c7) » Vengeance LPX 16GB DDR4 K2 3200MHz C16