Як керувати базами даних у PostgreSQL
PostgreSQL, яку часто називають “Postgres”, – це потужна система керування реляційними базами даних з відкритим вихідним кодом. Керування базами даних у PostgreSQL включає такі завдання, як створення, модифікація та видалення баз даних, таблиць і дозволів користувачів. Цей посібник ознайомить вас з основними командами керування базами даних PostgreSQL.
1. Доступ до командного рядка PostgreSQL
Щоб керувати базами даних PostgreSQL, спочатку отримайте доступ до інтерфейсу командного рядка PostgreSQL (CLI). За замовчуванням PostgreSQL використовує обліковий запис користувача postgres.
Крок 1: Перехід до користувача PostgreSQL
sudo -i -u postgres
Крок 2: Доступ до інтерфейсу командної строки PostgreSQL
psql
Увійшовши до CLI, ви побачите запит postgres=#, що вказує на те, що ви перебуваєте в середовищі PostgreSQL.
2. Створення нової бази даних
Щоб створити нову базу даних, скористайтеся командою CREATE DATABASE. Синтаксис команди наступний:
CREATE DATABASE ім'я_бази_даних;
Приклад:
CREATE DATABASE my_database;
Створюється база даних з ім’ям my_database. Для перевірки використовуйте:
\l
3. Створення та керування користувачами
Користувачам бази даних потрібен дозвіл на доступ до бази даних та її модифікацію. Ось як створювати користувачів і керувати ними в PostgreSQL.
Створення нового користувача
CREATE USER ім'я користувача WITH PASSWORD 'пароль';
Приклад:
СТВОРИТИ КОРИСТУВАЧА dbuser З ПАРОЛЕМ 'securepassword';
Надання доступу до бази даних
Щоб надати користувачеві доступ до бази даних і керувати нею, скористайтеся командою GRANT:
GRANT ALL PRIVILEGES ON DATABASE database_name TO username;
Приклад:
GRANT ALL PRIVILEGES ON DATABASE my_database TO dbuser;
Це надасть dbuser повний доступ до бази даних my_database.
4. Підключення до бази даних
Для підключення до певної бази даних скористайтеся командою \c, після якої слід вказати назву бази даних.
\c моя_база_даних
Запрошення зміниться і вкаже на активну базу даних, що дозволить вам керувати таблицями, вставляти дані і виконувати запити.
5. Створення та керування таблицями
Таблиці зберігають дані у структурованому форматі. Тут описано, як створювати, змінювати та видаляти таблиці у PostgreSQL.
Створення таблиці
Використовуйте команду CREATE TABLE, щоб визначити нову таблицю та її стовпці:
CREATE TABLE ім'я_таблиці ( тип_даних стовпця1 ПЕРВИННИЙ КЛЮЧ, тип_даних стовпця2, тип_даних стовпця3 );
Приклад:
CREATE TABLE employees ( employee_id SERIAL PRIMARY KEY, name VARCHAR(100), department VARCHAR(50), salary NUMERIC );
Вставка даних у таблицю
Вставте записи за допомогою оператора INSERT INTO:
Дані запиту
Отримання даних з таблиці за допомогою SELECT:
SELECT * FROM employees;
Оновлення даних
Щоб оновити записи в таблиці:
UPDATE employees SET salary = 55000 WHERE name = 'John Doe';
Видалення даних
Щоб видалити певні рядки:
DELETE FROM employees WHERE name = 'John Doe';
6. Керування доступом до бази даних та безпекою
Для безпеки надавайте користувачам лише необхідні привілеї:
- Відкликати доступ:
REVOKE ALL PRIVILEGES ON DATABASE my_database FROM dbuser;
- Обмежте права доступу до таблиць:
GRANT SELECT ON TABLE employees dbuser;
Це дозволить dbuser лише переглядати дані таблиці employees без внесення змін.
7. Резервне копіювання та відновлення баз даних
PostgreSQL пропонує команди для резервного копіювання та відновлення баз даних.
Створення резервної копії бази даних
Використовуйте команду pg_dump для створення резервної копії бази даних у файл:
pg_dump my_database > my_database_backup.sql
Відновлення бази даних
Використовуйте команду psql для відновлення бази даних з файлу резервної копії:
psql my_database < my_database_backup.sql
8. Видалення баз даних і таблиць
Якщо база даних або таблиця більше не потрібна, скористайтеся командою DROP, щоб видалити її.
Видалення таблиці
DROP TABLE назва_таблиці;
Приклад:
DROP TABLE employees;
Видалення бази даних
Спочатку вийдіть з бази даних (якщо вона підключена), а потім вимкніть її:
DROP DATABASE ім'я_бази_даних;
Приклад:
DROP DATABASE my_database;
9. Вихід з PostgreSQL
Щоб вийти з інтерфейсу командного рядка PostgreSQL, скористайтеся:
\q
Висновок
Керування базами даних у PostgreSQL включає в себе створення та налаштування баз даних, налаштування таблиць, керування користувачами та виконання резервного копіювання. Опанувавши ці команди, ви зможете ефективно керувати базами даних PostgreSQL, забезпечуючи цілісність і безпеку даних.