Как установить PostgreSQL Linux часть 2.

Введение.

Продолжая изучение PostgreSQL переходим к рассмотрению вопросов управления и контроля работы, PostgreSQL часть 2, с помощью терминального клиента pqsql.

Все статьи посвящённые PostgreSQL см.

тэг БД или поиск postgres

Подготовка PostgreSQL.

  • Стенд
  • Cервер ALT Linux, имя: lin-pq; IP 10.0.2.11;
    • PostgreSQL X.X
  • ПК Simply Linux, имя: lin-sl, IP=10.0.2.30
  • Пользователь. имя: trt

Ввод команд PqSQL.

Прежде чем перейти к описанию дальнейших действий, PostgreSQL часть 2, выясним, как формируются команды и SQL запросы.

Для ввода команд и управление запросами в среде PostgreSQL существует три способа:

Консоль пользователя.

Находясь в сеансе консоли, подключившись по ssh к серверу, пользователь должен иметь право для работу с БД. Под правами подразумевается присвоение роли, терминология PgSQL, для выполнение команд в БД.

Из консоли можно выполнить ограниченное число команд.

Оболочка BASH.

Из среды BASH управление осуществляет пользователь с именем postgres. Пользователь создаётся в процессе установки PgSQL, ему присваивается роль администратора всего кластера.

Это, пока, единственный пользователь, имеющий привилегированные права для управления PgSQL.

создаётся автоматически при установке PostgreSQL

Как добавить пользователя в привилегированную группу, читайте в следующих частях.

Команда для входа в BASH.

$ sudo su - postgres -s /bin/bash
  • sudo — выполнить команду от имени другого пользователя
  • su — добавить права суперпользователя
  • s — путь к оболочке
  • /bin/bash — имя оболочки

Среда BASH позволяет выполнять основные команды управления сервером БД.

Терминальный клиент psql.

Интерактивный клиент psql имеет более расширенные и гибкие возможности для работы с PqSQL, включая сложные SQL запросы.

Установленный сервер из коробки имеет метод авторизации trust. Это означает, что при подключению к PqSQL, работая локально из консоли сервера, пароль вводить не требуется.

Все доступные методы авторизации читайте в других частях.

Команда для входа с помощью psql выглядит так.

$ psql -Uuser -p[port]
  • Ключи.
  • -d имя базы данных
  • -h имя сервера
  • -p номер порта сервера, можно не указывать если стандартный
  • -U имя пользователя

Таким образом, основными средами управления PgSQL являются BASH и Psql.

Настройка psql клиента.

Локальное подключение к серверу по ssh для выполнения команд, о чём говорилось выше должно быть ограниченным и использоваться только для управления сервером администратором. Все остальные пользователя, имеющие учётные записи на PgSQL должны подключатся удалённо для выполнения SQL запросов с помощью клиента psql.

Осуществить удалённое подключение к PgSQL с помощью клиента psql можно, изменив параметр listen_addresses в настройках файла postgresql.conf сервера.

Указанный параметр использует протокол TCP/IP. По умолчанию в listen_addresses указанно значение localhost — только для локальных подключений к серверу через unix-domain socket. Это значение можно оставить без изменений при условии, что сервер PgSQL и приложения установленные на нём, например Zabbix, работают на одном сервере.

При этом подключение создавать дополнительных пользователей не требуется — управление осуществляет администратор подключённый по ssh к серверу

используя права пользователя postgres или создав новую роль с правами администратора

Теперь рассмотрим вариант, где требуется доступ пользователей к БД из сетей разных диапазонов организации.

Смотрим значение listen_addresses из коробки.

-bash-3.2$ psql
postgres=# SHOW listen_addresses;
 listen_addresses
------------------
 localhost
(1 строка)
\q

Меняем параметр listen_addresses с localhot на  *.  Переменная * позволяет разрешить подключение к серверу PgSQL из всех сетевых диапазонов организации по протоколу TCP/IP.

Корректировка listen_addresses .

-bash-3.2$ psql postgres=# \! sed "s/.*listen_addresses =.*/listen_addresses = '*'/" -i /var/lib/pgsql/data/postgresql.conf

Перегружаем сервер для перечитывания новых значений.

-bash-3.2$ pg_ctl restart

Контролируем фиксацию значение.

-bash-3.2$ psql 
postgres=# SHOW listen_addresses;
 listen_addresses 
------------------
 *
(1 row)
\q

При желание параметр  *  можно сузить до нужного диапазона сети.

После изменения настроек, клиент psql готов к приёму команд для удалённого управления базами сервера PqSQL с рабочих станций.

$ psql -h lin-pq -U trt
Password for user trt: 
...
trt=# 
  • -h имя сервера для удалённого подключения
  • lin-pq стендовое название сервера PqSQL
  • trt стендовый пользователь

В следующих частях конспекта «Как установить PostgreSQL Linux» будут показаны практическое использование клиента psql.

Пользователи работающие на ПК Windows также могут использовать клиент psql для управления базами PqSQL.

как это сделать читайте здесь

Журнал PqSQL.

Сервер PqSQL позволяет вести журнал производительности и ошибок своей работы. При установке сервера, режим журналирования отключен. Пользователь, при желании, может включить контроль записи работы сервера с помощью журнала, отредактировав файл postgresql.conf. После наших действий в дереве каталога /var/lib/pgsq/data создаётся папка log, для хранения файлов журналов

Папка журналов PgSQL.
Папка журналов PgSQL.

Команда включающая режим журнала.

# \sed "s/.*logging_collector =.*/logging_collector = 'on'/" -i /var/lib/pgsql/data/postgresql.conf

Перегружаем сервер для перечитывания новых значений.

-bash-3.2$ pg_ctl restart

Контролируем фиксацию значения.

-bash-3.2$ psql
postgres=# SHOW listen_addresses;
 listen_addresses 
------------------
 *
(1 строка)

Заключение.

В этой части конспекта рассмотрены базовые основы конфигурации и первичного управления сервером PgSQL. Понимание основ позволяет уверенно чувствовать себя при погружение в тему управления сервером баз данных PostgeSQL в дальнейшем.

Продолжение смотри в третьей части.

Полезные сылки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты