15%

Π—Π°ΠΎΡ‰Π°Π΄ΠΆΡƒΠΉΡ‚Π΅ 15% Π½Π° всіх послугах хостингу

ΠŸΠ΅Ρ€Π΅Π²Ρ–Ρ€Ρ‚Π΅ свої Π½Π°Π²ΠΈΡ‡ΠΊΠΈ Ρ‚Π° ΠΎΡ‚Ρ€ΠΈΠΌΠ°ΠΉΡ‚Π΅ Π—Π½ΠΈΠΆΠΊΡƒ Π½Π° Π±ΡƒΠ΄ΡŒ-який Ρ‚Π°Ρ€ΠΈΡ„Π½ΠΈΠΉ ΠΏΠ»Π°Π½

Використовуй ΠΊΠΎΠ΄:

Skills
ΠŸΠΎΡ‡Π°Ρ‚ΠΈ
03.12.2024

Π―ΠΊ ΠΊΠ΅Ρ€ΡƒΠ²Π°Ρ‚ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½ΠΈΡ… Ρƒ PostgreSQL

ΠšΠ΅Ρ€ΡƒΠ²Π°Π½Π½Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½ΠΈΡ… PostgreSQL Π½Π° VPS AlexHost

Π§ΠΎΠΌΡƒ Π²Π°Ρ€Ρ‚ΠΎ використовувати PostgreSQL Π½Π° AlexHost? PostgreSQL (Postgres) – Ρ†Π΅ Π½Π°Π΄Ρ–ΠΉΠ½Π° рСляційна Π±Π°Π·Π° Π΄Π°Π½ΠΈΡ… Π· Π²Ρ–Π΄ΠΊΡ€ΠΈΡ‚ΠΈΠΌ Π²ΠΈΡ…Ρ–Π΄Π½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, яка Ρ–Π΄Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΡ–Π΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΎΠ²Π°Π½ΠΈΡ… Π΄ΠΎΠ΄Π°Ρ‚ΠΊΡ–Π², Π° VPS Π²Ρ–Π΄ AlexHost Π·Ρ– сховищСм NVMe, root-доступом Ρ– захистом Π²Ρ–Π΄ DDoS Π³Π°Ρ€Π°Π½Ρ‚ΡƒΡ” Π½Π°ΠΉΠ²ΠΈΡ‰Ρƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ–ΡΡ‚ΡŒ Ρ– Π±Π΅Π·ΠΏΠ΅ΠΊΡƒ. Π¦Π΅ΠΉ посібник ΠΎΡ…ΠΎΠΏΠ»ΡŽΡ” основні ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ управління PostgreSQL – створСння Π±Π°Π· Π΄Π°Π½ΠΈΡ…, Ρ‚Π°Π±Π»ΠΈΡ†ΡŒ, користувачів, Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈΡ… ΠΊΠΎΠΏΡ–ΠΉ Ρ‚ΠΎΡ‰ΠΎ – ΠΎΠΏΡ‚ΠΈΠΌΡ–Π·ΠΎΠ²Π°Π½Ρ– для вашого Linux VPS Π²Ρ–Π΄ AlexHost.

1. Доступ Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ рядка PostgreSQL

Π©ΠΎΠ± ΠΊΠ΅Ρ€ΡƒΠ²Π°Ρ‚ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½ΠΈΡ… PostgreSQL, спочатку ΠΎΡ‚Ρ€ΠΈΠΌΠ°ΠΉΡ‚Π΅ доступ Π΄ΠΎ інтСрфСйсу ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ рядка PostgreSQL (CLI). Π—Π° замовчуванням PostgreSQL використовує ΠΎΠ±Π»Ρ–ΠΊΠΎΠ²ΠΈΠΉ запис користувача postgres

ΠšΡ€ΠΎΠΊ 1: ΠŸΠ΅Ρ€Π΅Ρ…Ρ–Π΄ Π΄ΠΎ користувача PostgreSQL

sudo -i -u postgres

ΠšΡ€ΠΎΠΊ 2: Доступ Π΄ΠΎ PostgreSQL CLI

psql

Π£Π²Ρ–ΠΉΡˆΠΎΠ²ΡˆΠΈ Π΄ΠΎ CLI, Π²ΠΈ ΠΏΠΎΠ±Π°Ρ‡ΠΈΡ‚Π΅ Π·Π°ΠΏΠΈΡ‚ postgres=#, Ρ‰ΠΎ Π²ΠΊΠ°Π·ΡƒΡ” Π½Π° Ρ‚Π΅, Ρ‰ΠΎ Π²ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΡƒΠ²Π°Ρ”Ρ‚Π΅ Ρƒ сСрСдовищі PostgreSQL

2. БтворСння Π½ΠΎΠ²ΠΎΡ— Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ…

Π©ΠΎΠ± створити Π½ΠΎΠ²Ρƒ Π±Π°Π·Ρƒ Π΄Π°Π½ΠΈΡ…, скористайтСся командою CREATE DATABASE. Бинтаксис ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ наступний

CREATE DATABASE database_name;

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄

CREATE DATABASE my_database;

Π‘Ρ‚Π²ΠΎΡ€ΡŽΡ”Ρ‚ΡŒΡΡ Π±Π°Π·Π° Π΄Π°Π½ΠΈΡ… Π· Ρ–ΠΌ’ям my_database. Для ΠΏΠ΅Ρ€Π΅Π²Ρ–Ρ€ΠΊΠΈ використовуйтС

l

3. БтворСння Ρ‚Π° кСрування користувачами

ΠšΠΎΡ€ΠΈΡΡ‚ΡƒΠ²Π°Ρ‡Π°ΠΌ Π±Π°Π· Π΄Π°Π½ΠΈΡ… ΠΏΠΎΡ‚Ρ€Ρ–Π±Π΅Π½ Π΄ΠΎΠ·Π²Ρ–Π» Π½Π° доступ Π΄ΠΎ Π±Π°Π· Π΄Π°Π½ΠΈΡ… Ρ‚Π° Ρ—Ρ… ΠΌΠΎΠ΄ΠΈΡ„Ρ–ΠΊΠ°Ρ†Ρ–ΡŽ. Ось як ΡΡ‚Π²ΠΎΡ€ΡŽΠ²Π°Ρ‚ΠΈ Ρ‚Π° ΠΊΠ΅Ρ€ΡƒΠ²Π°Ρ‚ΠΈ користувачами Π² PostgreSQL

БтворСння Π½ΠΎΠ²ΠΎΠ³ΠΎ користувача

CREATE USER username WITH PASSWORD 'password';

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄

CREATE USER dbuser WITH PASSWORD '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 my_database

Π—Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ Π·ΠΌΡ–Π½ΠΈΡ‚ΡŒΡΡ Ρ– Π²ΠΊΠ°ΠΆΠ΅ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρƒ Π±Π°Π·Ρƒ Π΄Π°Π½ΠΈΡ…, Ρ‰ΠΎ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π²Π°ΠΌ ΠΊΠ΅Ρ€ΡƒΠ²Π°Ρ‚ΠΈ таблицями, вставляти Π΄Π°Π½Ρ– Ρ– Π²ΠΈΠΊΠΎΠ½ΡƒΠ²Π°Ρ‚ΠΈ Π·Π°ΠΏΠΈΡ‚ΠΈ

5. БтворСння Ρ‚Π° кСрування таблицями

Π’Π°Π±Π»ΠΈΡ†Ρ– Π·Π±Π΅Ρ€Ρ–Π³Π°ΡŽΡ‚ΡŒ Π΄Π°Π½Ρ– Ρƒ структурованому Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ–. Ось як ΡΡ‚Π²ΠΎΡ€ΡŽΠ²Π°Ρ‚ΠΈ, Π·ΠΌΡ–Π½ΡŽΠ²Π°Ρ‚ΠΈ Ρ‚Π° видаляти Ρ‚Π°Π±Π»ΠΈΡ†Ρ– Ρƒ PostgreSQL

БтворСння Ρ‚Π°Π±Π»ΠΈΡ†Ρ–

ВикористовуйтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ CREATE TABLE, Ρ‰ΠΎΠ± Π²ΠΈΠ·Π½Π°Ρ‡ΠΈΡ‚ΠΈ Π½ΠΎΠ²Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†ΡŽ Ρ‚Π° Ρ—Ρ— стовпці

CREATE TABLE table_name ( column1 data_type PRIMARY KEY, column2 data_type, column3 data_type );

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄

CREATE TABLE employees ( employee_id SERIAL PRIMARY KEY, name VARCHAR(100), department VARCHAR(50), salary NUMERIC );

Вставка Π΄Π°Π½ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†ΡŽ

Вставка записів Π·Π° допомогою ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° INSERT INTO

INSERT INTO employees (name, department, salary) VALUES ('John Doe', 'HR', 50000);

Π—Π°ΠΏΠΈΡ‚ Π΄Π°Π½ΠΈΡ…

ΠžΡ‚Ρ€ΠΈΠΌΠ°Ρ‚ΠΈ Π΄Π°Π½Ρ– Π· Ρ‚Π°Π±Π»ΠΈΡ†Ρ– Π·Π° допомогою 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 TO 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 table_name;

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄

DROP TABLE employees;

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ Ρ€ΠΎΠ±ΠΎΡ‚ΠΈ Π· базою Π΄Π°Π½ΠΈΡ…

Π‘ΠΏΠΎΡ‡Π°Ρ‚ΠΊΡƒ Π²ΠΈΠΉΠ΄Ρ–Ρ‚ΡŒ Π· Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ… (якщо Π²ΠΎΠ½Π° ΠΏΡ–Π΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π°), Π° ΠΏΠΎΡ‚Ρ–ΠΌ Π²ΠΈΠΌΠΊΠ½Ρ–Ρ‚ΡŒ Ρ—Ρ—

DROP DATABASE database_name;

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄

DROP DATABASE my_database;

9. Π’ΠΈΡ…Ρ–Π΄ Π· PostgreSQL

Для Π²ΠΈΡ…ΠΎΠ΄Ρƒ Π· інтСрфСйсу ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ рядка PostgreSQL використовуйтС

q

Висновок: ΠžΡΠ²ΠΎΡ”Π½Π½Ρ PostgreSQL Π½Π° AlexHost

ΠšΠ΅Ρ€ΡƒΠ²Π°Ρ‚ΠΈ PostgreSQL Π½Π° VPS Π½Π° AlexHost Π΄ΡƒΠΆΠ΅ просто – ΡΡ‚Π²ΠΎΡ€ΡŽΠΉΡ‚Π΅ Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ…, Ρ‚Π°Π±Π»ΠΈΡ†Ρ– Ρ‚Π° користувачів, Π·Π°Ρ…ΠΈΡ‰Π°ΠΉΡ‚Π΅ доступ Ρ– Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½Π΅ ΠΊΠΎΠΏΡ–ΡŽΠ²Π°Π½Π½Ρ Π·Π° допомогою pg_dump. Π‘Ρ…ΠΎΠ²ΠΈΡ‰Π΅ NVMe Π²Ρ–Π΄ AlexHost Ρ– root-доступ Π·Π°Π±Π΅Π·ΠΏΠ΅Ρ‡ΡƒΡŽΡ‚ΡŒ ΡˆΠ²ΠΈΠ΄ΠΊΡƒ Ρ‚Π° Π½Π°Π΄Ρ–ΠΉΠ½Ρƒ Ρ€ΠΎΠ±ΠΎΡ‚Ρƒ Π· Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½ΠΈΡ… для Π²Π°ΡˆΠΈΡ… Π΄ΠΎΠ΄Π°Ρ‚ΠΊΡ–Π². ВикористовуйтС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ CLI, Ρ‚Π°ΠΊΡ– як CREATE, GRANT Ρ– l, Ρ‰ΠΎΠ± Π·Π°Π»ΠΈΡˆΠ°Ρ‚ΠΈΡΡ ΠΏΡ–Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, Ρ– покладайтСся Π½Π° Π±Π΅Π·ΠΏΠ΅ΠΊΡƒ Ρ– ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΠΊΡƒ AlexHost для Π΄ΡƒΡˆΠ΅Π²Π½ΠΎΠ³ΠΎ спокою. Π‘Ρ‚Π²ΠΎΡ€ΡŽΠΉΡ‚Π΅ Π½Π°Π΄Ρ–ΠΉΠ½Ρ– Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ… Ρ– Π½Π΅Ρ…Π°ΠΉ Π²Π°ΡˆΡ– Π΄Π°Π½Ρ– ΠΏΡ€Π°Ρ†ΡŽΡŽΡ‚ΡŒ Π±Π΅Π·ΠΏΠ΅Ρ€Π΅Π±Ρ–ΠΉΠ½ΠΎ!

15%

Π—Π°ΠΎΡ‰Π°Π΄ΠΆΡƒΠΉΡ‚Π΅ 15% Π½Π° всіх послугах хостингу

ΠŸΠ΅Ρ€Π΅Π²Ρ–Ρ€Ρ‚Π΅ свої Π½Π°Π²ΠΈΡ‡ΠΊΠΈ Ρ‚Π° ΠΎΡ‚Ρ€ΠΈΠΌΠ°ΠΉΡ‚Π΅ Π—Π½ΠΈΠΆΠΊΡƒ Π½Π° Π±ΡƒΠ΄ΡŒ-який Ρ‚Π°Ρ€ΠΈΡ„Π½ΠΈΠΉ ΠΏΠ»Π°Π½

Використовуй ΠΊΠΎΠ΄:

Skills
ΠŸΠΎΡ‡Π°Ρ‚ΠΈ