6.5.4 PostgreSQL: введення та встановлення

Postgre Banner

PostgreSQL - це потужна, відкрита об’єктно-реляційна система управління базами даних (СУБД), призначена для зберігання, обробки та керування великими обсягами даних. Розроблений з акцентом на розширюваність та сумісність зі стандартом SQL, PostgreSQL підтримує як реляційні, так і деякі NoSQL-функції, такі як зберігання JSON-даних та ключ-значення. Її основне призначення - надавати безпечне та надійне рішення для зберігання даних, яке дозволяє користувачам ефективно керувати складними транзакціями та виконувати аналіз даних у режимі реального часу.

Основні плюси та мінуси:
  • Висока сумісність із SQL. PostgreSQL підтримує практично всі функції стандартного SQL, що робить його зручним для розробки складних запитів та транзакцій.
  • Надійність та відповідність ACID-стандартам. Підтримка ACID (атомарність, узгодженість, ізоляція, довговічність) робить PostgreSQL стійким та передбачуваним при обробці критичних даних.
  • Розширюваність. PostgreSQL дозволяє користувачам додавати свої функції, що корисно для специфічних завдань та налаштування під унікальні вимоги.
  • Підтримка JSON і NoSQL. Крім реляційних даних, PostgreSQL також підтримує JSON-дані, що робить його зручним для гібридних додатків, де потрібні як реляційні, так і документно-орієнтовані дані.
  • Складність настройки. PostgreSQL іноді вимагає більш складного налаштування та управління порівняно з іншими СУБД, що може вимагати досвіду в адмініструванні.
  • Ресурсозатратність. Через широкий набір можливостей і сумісності PostgreSQL може споживати більше ресурсів, ніж інші СУБД, особливо під час обробки великих обсягів даних.

Використання PostgreSQL виправдане, коли проект потребує стабільної, масштабованої бази даних з розширеними можливостями роботи з SQL та гнучкістю для різноманітних даних.

Встановлення на Linux

У цьому прикладі ми будемо встановлювати PostgreSQL на Ubuntu 22.04. Цей процес складається із стандартних кроків: оновлення системи, додавання офіційного репозиторію PostgreSQL, встановлення та налаштування бази даних. Ми також розглянемо можливі нюанси, з якими можна зіткнутися.

1. Оновіть систему. Перед встановленням PostgreSQL переконайтеся, що пакети оновлені до поточної версії. Це допомагає уникнути помилок сумісності:

sudo apt update && sudo apt upgrade -y

2. Додайте офіційний репозиторій PostgreSQL. Ubuntu 22.04 може не включати останню версію PostgreSQL у своїх стандартних репозиторіях, тому є сенс додати офіційний репозиторій PostgreSQL:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

3. Додайте ключ для репозиторію. Без додавання ключа системи безпеки встановлення пакетів може завершитися помилкою:

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

4. Тепер оновіть список пакетів, щоб увімкнути репозиторій PostgreSQL:

sudo apt update

5. Встановіть PostgreSQL, вказавши потрібну версію (замініть 14 іншу версію, якщо хочете встановити її):

sudo apt install postgresql-14 postgresql-contrib

Врахуйте: Пакет postgresql-contrib встановлює додаткові розширення для PostgreSQL, такі як pgcrypto для шифрування та tablefunc для просунутої роботи з таблицями.

6. Перевірте статус служби:

Після встановлення служба PostgreSQL має запуститися автоматично. Перевірте її статус:

sudo systemctl status postgresql

Якщо служба не запустилася, спробуйте запустити її командою:

sudo systemctl start postgresql

7. PostgreSQL за замовчуванням працює з користувачем postgres. Щоб перейти на цього користувача та запустити клієнт psql, використовуйте:

sudo -i -u postgres
psql

8. Всередині клієнтського інтерфейсу psql ви можете створювати нові бази даних та користувачів для зручного керування. Приклад створення користувача та бази даних:

CREATE USER exampleuser WITH PASSWORD 'examplepassword';
CREATE DATABASE exampledb OWNER exampleuser;

9. За замовчуванням PostgreSQL приймає лише локальні з’єднання. Відредагуйте конфігураційний файл postgresql.conf, щоб дозволити зовнішні підключення:

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

У рядку listen_addresses замініть localhost на *, щоб PostgreSQL приймав запити з будь-яких IP:

listen_addresses = '*'

Додатково: * дозволить всім доступним IP-інтерфейсам (IPv4 та IPv6) приймати запити. Щоб прослуховувати лише IPv4, встановіть 0.0.0.0, тоді як :: дозволяє прослуховувати всі адреси IPv6.

Потім відкрийте файл pg_hba.conf, щоб вказати допустимі IP-адреси для доступу:

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

Додайте наступний рядок для дозволу зовнішніх підключень за паролем:

host all all 0.0.0.0/0 md5

10. Щоб застосувати зміни, перезапустіть PostgreSQL:

sudo systemctl restart postgresql

На цьому встановлення та базове налаштування PostgreSQL на Ubuntu 22.04 завершено. У Вас є робоча СУБД та створена база та користувач і дозволені ззовні підключення (з паролем).

Порада: детальніше про віддалену роботу з БД Ви можете ознайомитись у цій статті.

Встановлення на Windows

1. Завантажте інсталятор – перейдіть на офіційний сайт PostgreSQL і виберіть останній інсталятор для Windows. Зазвичай це .exe файл.

2. Двічі натисніть по завантаженому файлу, щоб розпочати процес встановлення. Програма-установник відкриє майстер установки.

3. За замовчуванням PostgreSQL встановиться в C:\Program Files\PostgreSQL з папкою для версії. При необхідності можна змінити шлях, але ми рекомендуємо без необхідності дотримуватись стандартного шляху.

4. Установник запропонує вибрати компоненти для встановлення:

Postgre Installer Components

  • PostgreSQL Server – обов’язковий для роботи.
  • pgAdmin – графічний інтерфейс для управління та роботи з БД.
  • Command Line Tools – корисні для роботи в командному рядку.
  • Stack Builder – інструмент для встановлення додаткових плагінів та розширень.

Зазвичай можна без роздумів вибрати всі компоненти.

5. Налаштуйте пароль суперкористувача postgres Установник запросить пароль для облікового запису postgres. Запам’ятайте його - це головний обліковий запис з доступом до всіх можливостей бази даних.

6. За замовчуванням PostgreSQL використовує порт 5432. Якщо порт вже зайнятий, виберіть інший вільний порт.

7. Установник запропонує вибрати параметри локалізації (локаль та регіон), що впливають на сортування та порівняння даних у БД. Зазвичай можна залишити значення за промовчанням.

8. Після перевірки параметрів натисніть Next для запуску установки. Дочекайтеся завершення встановлення та натисніть Finish.

Запуск та підключення через pgAdmin

Після інсталяції PostgreSQL автоматично запуститься як служба Windows, і ви зможете керувати нею через pgAdmin, який також буде встановлений на вашому комп’ютері.

Запустіть pgAdmin, додайте сервер PostgreSQL, використовуючи localhost та вказаний раніше порт (5432 за замовчуванням), та введіть пароль суперкористувача postgres.

PGAdmin, зовнішній вигляд
Зовнішній вигляд програми pgAdmin

Якщо все пройшло успішно, з цього моменту PostgreSQL встановлений та готовий до роботи.