Настройка postgresql linux debian

Установка PostgreSQL на Debian

PostgreSQL — система управления реляционными базами данных продвинутого уровня с открытым исходным кодом. Установить её на Debian 11 можно двумя способами: из репозитория операционной системы или из официального репозитория PostgreSQL.

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

Установка из репозитория Debian 11

На Debian установить PostgreSQL можно прямо из системного репозитория.

Сначала обновите список пакетов. Запустите терминал и выполните:

sudo apt update && sudo apt upgrade

Пакет PostgreSQL находится в репозитории Debian, поэтому вы можете установить его с помощью утилиты apt. Для этого выполните:

sudo apt install postgresql postgresql-contrib

После завершения установки проверьте статус соответствующей службы с помощью команды:

sudo systemctl status postgresql

Если служба не запустилась автоматически, вы можете стартовать её вручную. Для этого выполните:

sudo systemctl start postgresql

Чтобы остановить работающую службу, выполните:

sudo systemctl stop postgresql

Прежде чем настраивать PostgreSQL на Debian , убедитесь в том, что служба запущена.

Установка из официального репозитория СУБД

Если вы хотите использовать только свежие версии Постгреса, рекомендуется использовать для установки и последующего обновления официальный репозиторий СУБД.

Прежде всего необходимо добавить ключ подписи GPG. Это требование безопасности, чтобы подтвердить подлинность репозитория PostgreSQL. Чтобы сделать это, запустите терминал и выполните:

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg

Теперь вы готовы добавить репозиторий Postgres. Используйте следующую команду:

echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

После успешной интеграции библиотеки PostgreSQL вы готовы к установке СУБД. Но перед этим рекомендуется обновить репозиторий системы с помощью команды:

После обновления выполните PostgreSQL install на Debian:

sudo apt install postgresql

Установка завершена. Теперь можно переходить к базовой настройке СУБД.

Базовая настройка

При установке СУБД автоматически создаётся пользователь postgres. Вы можете использовать эту учётную запись для первого подключения.

Переключитесь на пользователя postgres :

Запустите утилиту psql — это оболочка для управления PostgreSQL:

Теперь вы можете взаимодействовать с сервером PostgreSQL. Чтобы выйти из оболочки, введите:

Вы можете использовать команду для доступа к командной строке Postgres без переключения пользователей:

Однако пользователь postgres обычно используется только с локального хоста. Если, например, вы используете облачные базы данных , рекомендуется создать новую роль для подключения.

Создание роли и базы данных

Команда createuser позволяет создавать новые роли из командной строки. Только суперпользователи и роли с привилегиями CREATEROLE могут создавать новые роли.

Читайте также:  Где используется oracle linux

В следующем примере создадим новую роль с именем timeweb и базу данных с именем timeweb_db , а затем предоставим новой роли привилегии для управления базой данных.

Сначала создайте новую роль:

sudo su - postgres -c "createuser timeweb"
sudo su - postgres -c "createdb timeweb_db"

Чтобы предоставить пользователю права доступа к базе данных, подключитесь к оболочке:

Выполните следующий запрос, чтобы предоставить пользователю timeweb привилегии для управления базой данных timeweb_db :

GRANT ALL PRIVILEGES ON DATABASE timeweb_db TO timeweb;

Создавать новые роли и базы данных можно и сразу в оболочке СУБД. В таком случае синтаксис будет незначительно отличаться.

Чтобы создать новую роль с паролем, выполните:

create user cloud with password 'cloudtimeweb';

Чтобы создать новую БД, выполните:

Затем нужно также предоставить все привилегии командой GRANT ALL PRIVILEGES ON DATABASE … TO … .

Настройка удалённого доступа

По умолчанию сервер Postgres слушает только локальный интерфейс 127.0.0.1. Это может быть неудобно. Допустим, у вас есть сервер на Timeweb Cloud с установленной СУБД. Гораздо комфортнее будет подключаться к нему удалённо. Для этого нужно настроить сервер на прослушивание других сетевых интерфейсов.

Чтобы изменить конфигурацию, с помощью любого редактора откройте файл postgresql.conf . В этом примере используется редактор nano:

sudo nano /etc/postgresql/12/main/postgresql.conf

Найдите в файле конфигурации раздел CONNECTIONS AND AUTHENTICATION и строку #listen_addresses = ‘localhost’ . Измените значение строки на listen_addresses = ‘*’ . Если вы хотите, чтобы сервер слушал не все сетевые интерфейсы, а только выбранный, укажите его вместо звёздочки.

Сохраните файл и перезапустите службу Postgres, чтобы изменения вступили в силу:

sudo service postgresql restart

Последний шаг — разрешение подключений из сети. Чтобы установить его, нужно отредактировать файл pg_hba.conf . Откройте его в редакторе:

sudo nano /etc/postgresql/12/main/pg_hba.conf

Найдите строку IPv4 local connections . Укажите нужную сеть. Например, вот так:

Вы можете использовать другие методы аутентификации. Полный их список смотрите в документации СУБД .

Заключение

Установка PostgreSQL на Debian выполняется двумя способами.

Первый вариант — использование системного репозитория. Его главный плюс — скорость. Не нужно ничего устанавливать дополнительно, достаточно выполнить одну команду. Минус в том, что в системном репозитории не всегда находится последняя версия ПО.

Второй вариант установки — использование официального репозитория PostgreSQL. Этот способ гарантирует, что вы будете пользоваться последней версией СУБД. Но действий придётся выполнить чуть больше — сначала добавить сам официальный репозиторий и лишь затем ставить Постгрес из него.

При дальнейшей работе с базами PostgreSQL не забывайте создавать бэкапы данных. С этим поможет наша статья «Дампы в PostgreSQL: резервное копирование и восстановление».

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.

Источник

Установка и настройка PostgreSQL 12 на Debian 10

Всем привет! Сегодня мы разберем процесс установки PostgreSQL 12 на операционную систему Debian 10, а также выполним первоначальную настройку PostgreSQL. В результате у нас получится полноценный сервер баз данных, реализованный на базе Debian + PostgreSQL, и данный сервер можно использовать в сети предприятия.

Читайте также:  Метка загрузочный astra linux

Установка и настройка PostgreSQL 12 на Debian 10

Установка PostgreSQL 12 на Debian 10

Итак, давайте перейдем к установке и рассмотрим все шаги, которые необходимо выполнить, чтобы установить PostgreSQL 12 на Debian 10.

Установку я буду производить удаленно, используя программу PuTTY.

Шаг 1 – Подключение репозитория и обновление списка пакетов в системе

Установку и настройку PostgreSQL необходимо выполнять с правами пользователя root, поэтому давайте сразу переключимся на root.

Для этого пишем команду su и вводим пароль.

Скриншот 1

Далее, давайте проверим, нет ли в системе необходимых нам пакетов, так как вдруг нам и не нужно подключать дополнительный репозиторий.

Для этого вводим следующую команду.

apt-cache search postgresql-12

Скриншот 2

Как видим, в Debian 10 нужной нам версии PostgreSQL нет, поэтому нам нужно подключить дополнительный репозиторий от разработчиков. Если у Вас более новая версия Debian и в стандартных репозиториях есть 12 версия PostgreSQL, то дополнительный репозиторий Вам подключать не нужно, т.е. данный шаг Вы можете пропустить.

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

sh -c 'echo " deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main " >> /etc/apt/sources.list.d/pgdg.list'

Примечание! Здесь обязательно стоить отметить, что этот репозиторий предназначен для Debian 10, для других версий адрес репозитория будет другим, например, если Вам нужно установить PostgreSQL на Debian 9, то в адресе репозитория вместо buster напишите stretch, т.е. замените кодовое имя версии.

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

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Осталось обновить список пакетов в системе, это делаем стандартной командой.

Скриншот 3

И для проверки того, что теперь нам доступны пакеты PostgreSQL 12, давайте снова запустим команду поиска пакетов.

apt-cache search postgresql-12

Скриншот 4

Теперь нужные пакеты нам доступны и мы можем переходить к установке PostgreSQL 12.

Шаг 2 – Установка необходимых пакетов для PostgreSQL

Для установки PostgreSQL 12 и базовых стандартных утилит необходимо установить пакет postgresql-12, это делается следующей командой.

apt-get -y install postgresql-12

Скриншот 5

Шаг 3 – Проверка установки

Чтобы проверить, установился и запущен ли Postgres, давайте выполним следующую команду, которая покажет статус сервиса PostgreSQL.

systemctl status postgresql

Скриншот 6

Как видим, PostgreSQL 12 установился и работает.

Настройка PostgreSQL 12 в Debian 10

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

Создание пользователя и базы данных в PostgreSQL

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

Давайте переключимся на пользователя postgres (данная учетная запись была создана автоматически во время установки PostgreSQL).

Затем запускаем утилиту psql – это консоль для PostgreSQL.

Читайте также:  Epson l1300 драйвер linux

Первым делом нам нужно задать пароль для пользователя postgres.

Затем создаем нового пользователя на сервере PostgreSQL, так как работать от имени postgres крайне не рекомендуется.

create user info_comp with password '123456';

где info_comp – это имя пользователя, ‘123456’ – это его пароль, Вы, соответственно, придумываете и подставляете свои данные.

Далее давайте создадим базу данных.

где test_db – это имя новой базы данных.

Курс по SQL для начинающих

Теперь давайте дадим права на управление базой данных нашему новому пользователю.

grant all privileges on database test_db to info_comp;

Все готово, выходим из консоли.

Скриншот 7

Для проверки давайте подключимся к PostgreSQL от имени нового пользователя, на предложение о вводе пароля вводим пароль от новой учетной записи.

psql -h localhost test_db info_comp

Все работает, я подключился. Для выхода снова набираем \q.

Для переключения обратно на root вводим exit.

Скриншот 8

Разрешаем подключение к PostgreSQL по сети

По умолчанию PostgreSQL прослушивает только адрес localhost, поэтому, для того чтобы мы могли подключаться по сети, нам нужно указать, какие сетевые интерфейсы будет просушивать PostgreSQL. Я для примера укажу, что прослушивать нужно все доступные интерфейсы. Если у Вас несколько сетевых интерфейсов, и Вы хотите, чтобы PostgreSQL использовал только один конкретный, то Вы его можете указать именно здесь.

Чтобы это сделать, открываем файл postgresql.conf, например, редактором nano.

nano /etc/postgresql/12/main/postgresql.conf
#listen_addresses = 'localhost'

и вносим следующие изменения (вместо звездочки Вы в случае необходимости указываете IP адрес нужного интерфейса).

Скриншот 9

Сохраняем изменения сочетанием клавиш CTRL+O и подтверждаем нажатием Enter, затем просто закрываем редактор nano сочетанием клавиш CTRL+X.

Теперь давайте разрешим подключение из сети, я для примера разрешу подключаться из сети 192.168.1.0/24 с методом аутентификации md5.

Для этого открываем файл pg_hba.conf

nano /etc/postgresql/12/main/pg_hba.conf

Скриншот 10

Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.

И указываем нужную нам сеть (если IPv6 Вы не будете использовать, то можете закомментировать соответствующие строки знаком #).

Скриншот 11

Далее точно так же сохраняем изменения сочетанием клавиш CTRL+O, подтверждаем нажатием Enter и закрываем редактор nano сочетанием клавиш CTRL+X.

Перезапускаем PostgreSQL, чтобы изменения вступили в силу.

systemctl restart postgresql

Удаленное подключение к PostgreSQL 12 с помощью pgAdmin 4

Сервер PostgreSQL настроен, поэтому, чтобы проверить его работоспособность, давайте подключимся к серверу удаленно с помощью pgAdmin 4.

Для этого запускаем на клиенте pgAdmin 4, в обозревателе кликаем на контейнер «Servers» и выбираем «Создать -> Сервер».

Скриншот 12

Далее откроется окно создания сервера, в котором нам нужно на вкладке «Общие» ввести название сервера.

Скриншот 13

А на вкладке «Соединение» указать IP адрес сервера и данные пользователя, под которым мы подключимся к серверу.

Скриншот 14

В результате мы подключимся к серверу, а в обозревателе отобразятся все объекты на данном сервере.

Скриншот 15

На сегодня это все, надеюсь, материал был Вам полезен, пока!

Источник

Оцените статью
Adblock
detector