Вступ
PostgreSQL — це потужна, відкрита реляційна система керування базами даних (RDBMS), яка відома своєю надійністю, функціональністю та масштабованістю. Використовується в багатьох додатках, від малих до великих, і підтримує широкий набір функцій, таких як транзакції, рефакторинг баз даних, складні запити, і багато іншого.
Кроки по встановленню PostgreSQL на Ubuntu 22.04
Крок 1: Оновлення системи
Перш ніж встановлювати будь-яке програмне забезпечення, необхідно переконатися, що всі пакети в системі оновлені.
sudo apt update
sudo apt upgrade -y
Крок 2: Встановлення PostgreSQL
Ubuntu 22.04 містить PostgreSQL у своїх стандартних репозиторіях, тому його можна встановити за допомогою apt
.
sudo apt install postgresql postgresql-contrib -y
Ця команда встановить саму базу даних PostgreSQL та postgresql-contrib.postgresql-contrib
— це додатковий пакет для PostgreSQL, який містить набір розширень та утиліт, що додають додаткову функціональність до базової системи PostgreSQL. Ці розширення можуть бути корисними для вирішення різних завдань, таких як:
- Функції та агрегати: Наприклад,
tablefunc
додає можливість роботи з функціями для обробки крос-таблиць (pivot tables). - Типи даних: Додаються нові типи даних, такі як
hstore
для зберігання ключ-значення пар абоuuid-ossp
для створення унікальних ідентифікаторів (UUID). - Повнотекстовий пошук: Розширення
pg_trgm
дозволяє створювати індекси для швидкого повнотекстового пошуку. - Реплікація: Деякі розширення, такі як
pg_stat_statements
, допомагають у моніторингу та оптимізації запитів. - Функціональні можливості: Наприклад,
fuzzystrmatch
забезпечує функції для порівняння строк на основі їх схожості.
Встановлювати додатковий пакет postgresql-contrib
не обов’язково!
Крок 3: Перевірка стану PostgreSQL
Після встановлення переконайтеся, що PostgreSQL працює правильно.
sudo systemctl status postgresql
Ви повинні побачити щось на кшталт “active (running)”, що означає, що сервер PostgreSQL успішно запущено.
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2024-08-25 10:15:03 UTC; 5min ago
Main PID: 1234 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 2321)
Memory: 0B
CGroup: /system.slice/postgresql.service
Aug 25 10:15:03 hostname systemd[1]: Starting PostgreSQL RDBMS...
Aug 25 10:15:03 hostname systemd[1]: Started PostgreSQL RDBMS.
Крок 4: Виконання базової конфігурації
За замовчуванням PostgreSQL створює користувача “postgres”. Ви можете увійти під цим користувачем і почати взаємодію з базою даних.
sudo -i -u postgres
Тепер ви знаходитесь в консолі користувача postgres. Щоб увійти в оболонку PostgreSQL, введіть:
psql
Ви можете виконувати SQL-запити безпосередньо в цій оболонці. Наприклад, створити нову базу даних:
CREATE DATABASE mydatabase;
Щоб вийти з оболонки PostgreSQL, використовуйте команду:
\q
Щоб повернутися до вашого звичайного користувача, просто введіть:
exit
Крок 5: Налаштування віддаленого доступу (необов’язково)
За замовчуванням PostgreSQL дозволяє підключення тільки з localhost. Щоб дозволити віддалені з’єднання, потрібно змінити конфігураційний файл.
1. Відредагуйте файл postgresql.conf
:
sudo nano /etc/postgresql/14/main/postgresql.conf
Знайдіть рядок listen_addresses
і змініть його так:
listen_addresses = '*'
2. Далі відредагуйте файл pg_hba.conf
, щоб дозволити доступ з певних IP-адрес або мереж:
sudo nano /etc/postgresql/14/main/pg_hba.conf
Додайте такий рядок, щоб дозволити доступ для всіх IP-адрес:
host all all 0.0.0.0/0 md5
Після внесення змін перезапустіть PostgreSQL:
sudo systemctl restart postgresql
Приклади використання psql
Ось кілька простих прикладів використання psql
— командної оболонки для взаємодії з базою даних PostgreSQL:
1. Створення користувача
Спочатку підключіться до PostgreSQL як суперкористувач (зазвичай це postgres
):
sudo -i -u postgres
psql
Використовуйте команду CREATE USER
, щоб створити нового користувача. Наприклад, щоб створити користувача з ім’ям newuser
і паролем password
:
CREATE USER newuser WITH PASSWORD 'password';
Ви можете надати користувачеві додаткові привілеї, наприклад, зробити його суперкористувачем або дозволити йому створювати бази даних:
Надання прав суперкористувача:
ALTER USER newuser WITH SUPERUSER;
Дозвіл на створення баз даних:
ALTER USER newuser WITH CREATEDB;
Дозвіл на створення ролей:
ALTER USER newuser WITH CREATEROLE;
Ви можете надати новому користувачеві права доступу до певної бази даних:
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO newuser;
2. Перегляд списку баз даних
Щоб переглянути список усіх баз даних:
\l
3. Перегляд списку таблиць
Щоб переглянути список таблиць у поточній базі даних:
\dt
4. Створення нової таблиці
Щоб створити нову таблицю в базі даних:
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
position VARCHAR(50),
salary NUMERIC
);
Ця команда створює таблицю employees
з колонками id
, name
, position
та salary
.
5. Вставка даних у таблицю
Щоб додати новий запис до таблиці:
INSERT INTO employees (name, position, salary)
VALUES ('John Doe', 'Manager', 50000);
6. Запит даних з таблиці
Щоб вибрати всі дані з таблиці:
SELECT * FROM employees;
7. Оновлення даних у таблиці
Щоб оновити інформацію в таблиці:
UPDATE employees
SET salary = 55000
WHERE name = 'John Doe';
8. Видалення запису з таблиці
Щоб видалити запис з таблиці:
DELETE FROM employees
WHERE name = 'John Doe';
Ці приклади демонструють основні команди, які допоможуть вам розпочати роботу з PostgreSQL через інтерфейс psql
.
Висновок
Встановлення PostgreSQL на Ubuntu 22.04 — це досить простий процес, який включає кілька основних кроків, таких як оновлення системи, встановлення пакета PostgreSQL та виконання базової конфігурації. Ця інструкція надає вам початкові знання для початку роботи з PostgreSQL, але ви можете поглиблювати свої знання, вивчаючи додаткові функції та можливості цього потужного СКБД.