PostgreSQL - свободная объектно-реляционная система управления базами данных (СУБД).
Установка PostgreSQL и pgAdmin в Porteus
Открываем терминал и вводим команды:
Code: Select all
su
toor
usm -u usm
usm -u all
usm -g postgresql
usm -g pgadmin
где 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
Обратите внимание, что в данном примере используется 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"
Вводим и повторяем пароль для суперпользователя БД PostgreSQL - например пароль test (его необходимо запомнить)Заметка. Параметр -D задаёт место, куда будут помещены данные PostgreSQL.
Вы так же можете задать свой путь для сохранения данных PostgreSQL, но при создании пользователя postgres (см. пункт 1), необходимо задать этот путь к новому домашнему каталогу, вместо /var/lib/pgsql
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
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 - файл, определяющий настройки доступа к серверу баз данных.
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
1) Запускаем pgAdmin4 из терминалаЕсли вас пугает терминал и нужен более интуитивный способ работать с базой данных, то можно использовать pgAdmin. pgAdmin - это свободное кроссплатформенное (работающее и в *nix, и в Windows) программное обеспечение, предоставляющее графический интерфейс для работы с базой данных.
Code: Select all
su
toor
python /usr/lib/pgadmin4/web/pgAdmin4.py
2) Открываем в браузере http://127.0.0.1:5050/


Для смены языка на русский язык заходим в File > Preferences (или Configure pgAdmin) > Miscellaneous > User language > Russian > жмем Save и в браузере жмем F5 для обновления страницы.
3) В открывшемся окне нажимаем 'Добавить новый сервер'.

И указываем следующие параметры:
4) Далее необходимо зайти в Файл > Настройки (или Настроить pgAdmin) > Пути > Пути программ > в:![]()
Имя/адрес сервера - произвольная строка по которой вы сможете идентифицировать сервер в списке доступных серверов;
Хост - адрес хоста на котором запущен PostgreSQL (обычно localhost);
Порт - порт, который прослушивает PostgfeSQL (по умолчанию 5432);
Имя пользователя - postgres;
Пароль - Ваш пароль (в нашем примере пароль test);
- Каталог программ EDB Advanced Server
- Каталог программ Greenplum
- Каталог программ PostgreSQL

После чего можно создавать, удалять базы данных, выполнять запросы т.д.Заметка. В моем примере путь к каталогу, содержащему служебные программы (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