Categories: Python

Установка PostgreSQL на сервер Ubuntu и подключение через pgAdmin

В этой статье расскажу подробно об установке PostgreSQL на сервер VSP Ubuntu и дальнейшее подключение и управление базами данных с пощью pgAdmin на Windows.

При установке PostgreSQL я столкнулась с некоторыми нюансами и не сразу мне удалось со всем разобраться. Поэтому традиционно я делюсь своим опытом.

PostgreSQL, или Postgres, — это система управления реляционными базами данных, которая представляет собой реализацию языка запросов SQL. Она соответствует стандартам и обладает множеством передовых функций, таких как надежность и параллельность операций без блокировки при чтении.

Установка PostgreSQL на сервер Ubuntu

Первое что нужно сдлеать как зашли на сервер – это обновить пакеты

sudo apt update

Установка PostgreSQL

sudo apt install postgresql postgresql-contrib

Теперь давайте проверим статус

service postgresql status

Такой должен получится результат:

А чтобы посмотреть все команды управления сервисом просто введите

service postgresql status

Начало работы с PostgreSQL

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

Вход в учетную запить

sudo -i -u postgres

Теперь строка диалога начинается со слова postgres@. Это важно для понимания где вы находитесь.

Теперь можем открыть консоль Postgres

psql

Вы увидете диалог от пользователя postgres=#

Работа в консоли Postgres

Список баз данных

\l

Список пользователей

\du

Выход из списков пользователей и баз данных

\q

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

man psql

Создание нового Пользователя в Postgres

Как и писалось выше сначала поменяем пароль суперпользователя postgres, так как это очень важно для безопасности. В Консоли Postgres вводим команду: (обязательно запишите пароль суперпользователя).

ALTER USER postgres WITH PASSWORD 'password';

Теперь создадим нового Пользователя. Так как подключатся к базе будем через него. Обычно схема такая: 1 база данных – 1 пользователь.

ALTER USER postgres WITH PASSWORD 'password';

И также сделаем Пользователя Суперпользователем.

ALTER USER postgres WITH PASSWORD 'password';

Есди по какой-то причине нужно удалить Пользовател

DROP USER username;

Создание базы данных Postgres

Сначала нужно выйти из консоли. Затем ввести:

createdb "название БД"

Если нужно удалить базу данных, то соответственно

dropdb "название БД"

Выход из системы управления Postgres в консоль управления сервером Ctrl+D или просто введите exit

Настройка pgAdmin на Windwos

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

Файл postgresql.conf

Можете открыть на сервере. Замените <версия> на нужную версию. У меня 14

sudo nano /etc/postgresql/<версия>/main/postgresql.conf

Теперь в этом файле найдите строку
#listen_addresses = ‘localhost’, расскоментируйте ее и поменяйте localhost на *
Должно получится так

listen_addresses = '*'  

Сохраните Ctrl + O (Enter подтвердить), а после выходите Ctrl + X

Файл pg_hba.conf

Точно также открываем файл через Nano (при этом меняем версия на версию Postgres)

sudo nano /etc/postgresql/<версия>/main/pg_hba.conf

И замени данные на такой минимум, где myuser – это именно тот пользователь, которому будет разрешен вход из вне по паролю. Но удобнее конечно это делать предварительно скачав этот файл через FileZilla, скопировать изменения в загрузить на сервер.

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer


# Разрешить modelkapostbot доступ с любого IP по паролю
host    all             modelkapostbot     0.0.0.0/0               md5

# Локальный доступ для всех (если надо)
local   all             all                                        md5

# Запретить всем остальным внешние подключения
host    all             all              0.0.0.0/0                 reject
host    all             all              ::/0                      reject

Когда сделали все изменения – перезагрузить PostgresSQL

service postgresql restart

Теперь смело можете заходить в вашу базу данных через pgAdmin

Подключение к базе данных с помощью pgAdmin

Теперь все готово для подключения к созданной базе данных через pgAmin

Открываете pgAdmin, парвой кнопкой мышки на Servers – Register – Server…

Введите любое Имя для сервера во вкладке General

Далее во кладке Connection введите необходимые данные, которые у вас уже есть

Host name – IP Вашего сервера.
Post – по умолчанию всегда 5432

Maintanance database – имя созданной базы данныз

Username – созданный пользователь

Password – пароль

И нажмите Save

На этом этапе вы должны успешно подключится к вашей базе данных. И далее управлять и редактировать ее через PogAdmin

Recent Posts

  • Excel

Как правильно открыть CSV с многострочными ячейками в Excel

Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More

% дней назад
  • Python

Загрузка проекта на Github и Автодеплой на сервер

Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More

% дней назад
  • Python
  • Полезная минутка

Миграция базы данных в проектах Python

Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More

% дней назад
  • Python

Команды Git – Шпаргалка по основным командам Git

Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More

% дней назад
  • Python

Установка PostgreSQL на сервер Ubuntu и подключение через pgAdmin

Установка PostgreSQL на сервер Read More

% дней назад
  • Полезная минутка

Как создать PrimaryKey для таблицы в PostgreSQL

Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More

% дней назад