15%

Alexhost Π²ΠΈΠΊΠΎΠ½ΡƒΡ” Π²Π°ΡˆΡ– баТання

ΠŸΡ€ΠΎΠΉΠ΄Ρ–Ρ‚ΡŒ опитування Ρ‚Π° Π²ΠΈΠ³Ρ€Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ·ΠΈ

01.11.2024

ΠŸΠΎΡΡ–Π±Π½ΠΈΠΊ Π· PostgreSQL

PostgreSQL – Ρ†Π΅ ΠΏΠΎΡ‚ΡƒΠΆΠ½Π° рСляційна систСма управління Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½ΠΈΡ… (Π‘ΠšΠ‘Π”) Π· Π²Ρ–Π΄ΠΊΡ€ΠΈΡ‚ΠΈΠΌ Π²ΠΈΡ…Ρ–Π΄Π½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π²Ρ–Π΄ΠΎΠΌΠ° ΡΠ²ΠΎΡ”ΡŽ ΡΡ‚Π°Π±Ρ–Π»ΡŒΠ½Ρ–ΡΡ‚ΡŽ, Π½Π°Π΄Ρ–ΠΉΠ½Ρ–ΡΡ‚ΡŽ Ρ‚Π° Ρ€ΠΎΠ·ΡˆΠΈΡ€Π΅Π½ΠΈΠΌΠΈ моТливостями. Π’ΠΎΠ½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ для управління Π²Π΅Π»ΠΈΠΊΠΈΠΌΠΈ обсягами Π΄Π°Π½ΠΈΡ… Ρ– ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡ” Ρ€Ρ–Π·Π½Ρ– Ρ‚ΠΈΠΏΠΈ Π΄Π°Π½ΠΈΡ… Ρ– ΠΌΠΎΠ²ΠΈ програмування. Π£ Ρ†Ρ–ΠΉ статті Π²ΠΈ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ”Ρ‚Π΅ огляд PostgreSQL, Ρ—Ρ— основних моТливостСй, інсталяції Ρ‚Π° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ використання

1. Розуміння PostgreSQL

PostgreSQL – Ρ†Π΅ ΠΎΠ±’Ρ”ΠΊΡ‚Π½ΠΎ-рСляційна систСма управління Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½ΠΈΡ… (Π‘ΠšΠ‘Π”), яка Ρ€ΠΎΠ·ΡˆΠΈΡ€ΡŽΡ” моТливості Ρ‚Ρ€Π°Π΄ΠΈΡ†Ρ–ΠΉΠ½ΠΈΡ… рСляційних Π±Π°Π· Π΄Π°Π½ΠΈΡ… Π·Π° Ρ€Π°Ρ…ΡƒΠ½ΠΎΠΊ Π΄ΠΎΠ΄Π°Ρ‚ΠΊΠΎΠ²ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΉ, Ρ‚Π°ΠΊΠΈΡ… як ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΠΊΠ° JSON, ΠΊΠΎΡ€ΠΈΡΡ‚ΡƒΠ²Π°Ρ†ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΡ–Π² Π΄Π°Π½ΠΈΡ… Ρ– ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΈΡ… ΠΌΠΎΠ². Π’ΠΎΠ½Π° Π²Ρ–Π΄ΠΎΠΌΠ° ΡΠ²ΠΎΡ”ΡŽ Π½Π°Π΄Ρ–ΠΉΠ½Ρ–ΡΡ‚ΡŽ Ρ– ΠΌΠΎΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ обробляти складні Π·Π°ΠΏΠΈΡ‚ΠΈ Ρ‚Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†Ρ–Ρ—

2. ΠšΠ»ΡŽΡ‡ΠΎΠ²Ρ– особливості PostgreSQL

2.1. Π ΠΎΠ·ΡˆΠΈΡ€Π΅Π½Ρ– Ρ‚ΠΈΠΏΠΈ Π΄Π°Π½ΠΈΡ…

  • ΠŸΡ–Π΄Ρ‚Ρ€ΠΈΠΌΠΊΠ° Π΄Π΅ΠΊΡ–Π»ΡŒΠΊΠΎΡ… Ρ‚ΠΈΠΏΡ–Π² Π΄Π°Π½ΠΈΡ….
  • ΠŸΠΎΠ²Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΠΈΠΉ ΠΏΠΎΡˆΡƒΠΊ.

2.2. Π ΠΎΠ·ΡˆΠΈΡ€ΡŽΠ²Π°Π½Ρ–ΡΡ‚ΡŒ

  • ΠšΠΎΡ€ΠΈΡΡ‚ΡƒΠ²Π°Ρ†ΡŒΠΊΡ– Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ: PostgreSQL дозволяє користувачам ΡΡ‚Π²ΠΎΡ€ΡŽΠ²Π°Ρ‚ΠΈ власні Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ, Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡŽΡ‡ΠΈ Π΄Π΅ΠΊΡ–Π»ΡŒΠΊΠ° ΠΌΠΎΠ² програмування (PL/pgSQL, PL/Perl, PL/Python Ρ‚ΠΎΡ‰ΠΎ).
  • Π ΠΎΠ·ΡˆΠΈΡ€Π΅Π½Π½Ρ.

2.3. ΠŸΠΎΡ‚ΡƒΠΆΠ½Π° ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΠΊΠ° співпраці

  • MVCC (Multi-Version Concurrency Control).
  • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†Ρ–ΠΉ: ΠŸΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡ” властивості ACID (Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ–ΡΡ‚ΡŒ, ΡƒΠ·Π³ΠΎΠ΄ΠΆΠ΅Π½Ρ–ΡΡ‚ΡŒ, ізоляція, Π΄ΠΎΠ²Π³ΠΎΠ²Ρ–Ρ‡Π½Ρ–ΡΡ‚ΡŒ), які Π·Π°Π±Π΅Π·ΠΏΠ΅Ρ‡ΡƒΡŽΡ‚ΡŒ Π½Π°Π΄Ρ–ΠΉΠ½Ρƒ ΠΎΠ±Ρ€ΠΎΠ±ΠΊΡƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†Ρ–ΠΉ.

3. ВстановлСння PostgreSQL

Π©ΠΎΠ± ΠΏΠΎΡ‡Π°Ρ‚ΠΈ Ρ€ΠΎΠ±ΠΎΡ‚Ρƒ Π· PostgreSQL, Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Ρ–Π±Π½ΠΎ встановити Ρ—Ρ— Ρƒ Π²Π°ΡˆΡ–ΠΉ систСмі. Π¦Π΅ΠΉ посібник описує процСс встановлСння Π½Π° Ubuntu

ΠšΡ€ΠΎΠΊ 1: ОновлСння індСксу ΠΏΠ°ΠΊΡƒΠ½ΠΊΡ–Π²

Π’Ρ–Π΄ΠΊΡ€ΠΈΠΉΡ‚Π΅ ваш Ρ‚Π΅Ρ€ΠΌΡ–Π½Π°Π» Ρ– ΠΎΠ½ΠΎΠ²Ρ–Ρ‚ΡŒ індСкс ΠΏΠ°ΠΊΡƒΠ½ΠΊΡ–Π²

sudo apt update

ΠšΡ€ΠΎΠΊ 2: ВстановлСння PostgreSQL

Π’ΡΡ‚Π°Π½ΠΎΠ²Ρ–Ρ‚ΡŒ PostgreSQL, виконавши наступну ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

sudo apt install postgresql postgresql-contrib

ΠšΡ€ΠΎΠΊ 3: Запуск Ρ‚Π° активація PostgreSQL

ΠŸΡ–ΡΠ»Ρ встановлСння Π·Π°ΠΏΡƒΡΡ‚Ρ–Ρ‚ΡŒ слуТбу PostgreSQL Ρ‚Π° ΡƒΠ²Ρ–ΠΌΠΊΠ½Ρ–Ρ‚ΡŒ Ρ—Ρ— запуск ΠΏΡ€ΠΈ Π·Π°Π²Π°Π½Ρ‚Π°ΠΆΠ΅Π½Π½Ρ–

sudo systemctl start postgresql sudo systemctl enable postgresql

ΠšΡ€ΠΎΠΊ 4: ΠŸΠ΅Ρ€Π΅Π²Ρ–Ρ€ΠΊΠ° установки

Π©ΠΎΠ± пСрСконатися, Ρ‰ΠΎ PostgreSQL Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ, скористайтСся Π½Π°ΡΡ‚ΡƒΠΏΠ½ΠΎΡŽ командою

sudo systemctl status postgresql

4. Π‘Π°Π·ΠΎΠ²Π΅ використання PostgreSQL

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

Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ‚ΠΈ доступ Π΄ΠΎ Π²Ρ–ΠΊΠ½Π° PostgreSQL Π·Π° допомогою наступної ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ

sudo -i -u postgres

ΠŸΠΎΡ‚Ρ–ΠΌ Π·Π°ΠΏΡƒΡΡ‚Ρ–Ρ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΠ½ΠΊΡƒ PostgreSQL

psql

ΠšΡ€ΠΎΠΊ 2: БтворСння Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ…

Π©ΠΎΠ± створити Π½ΠΎΠ²Ρƒ Π±Π°Π·Ρƒ Π΄Π°Π½ΠΈΡ…, Π²ΠΈΠΊΠΎΠ½Π°ΠΉΡ‚Π΅ наступну ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΎΠ±ΠΎΠ»ΠΎΠ½Ρ†Ρ– PostgreSQL

CREATE DATABASE mydatabase;

ΠšΡ€ΠΎΠΊ 3: БтворСння користувача

ВикористовуйтС наступну ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‰ΠΎΠ± створити Π½ΠΎΠ²ΠΎΠ³ΠΎ користувача Ρ– ΠΏΡ€ΠΈΠ·Π½Π°Ρ‡ΠΈΡ‚ΠΈ ΠΉΠΎΠΌΡƒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ

CREATE USER myuser WITH PASSWORD 'mypassword';

ΠšΡ€ΠΎΠΊ 4: Надання ΠΏΡ€ΠΈΠ²Ρ–Π»Π΅Ρ—Π²

Π©ΠΎΠ± Π½Π°Π΄Π°Ρ‚ΠΈ користувачСві доступ Π΄ΠΎ Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ…, Π²ΠΈΠΊΠΎΠ½Π°ΠΉΡ‚Π΅ наступну ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

Grant all permissions of the mydatabase database to myuser;

ΠšΡ€ΠΎΠΊ 5: ΠŸΡ–Π΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ Π΄ΠΎ Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ…

Π©ΠΎΠ± ΠΏΡ–Π΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΠΈΡΡ Π΄ΠΎ новостворСної Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ…, Π²ΠΈΠΉΠ΄Ρ–Ρ‚ΡŒ Π· ΠΎΠ±ΠΎΠ»ΠΎΠ½ΠΊΠΈ PostgreSQL (Π²Π²Π΅Π΄Ρ–Ρ‚ΡŒ q), Π° ΠΏΠΎΡ‚Ρ–ΠΌ Π·Π½ΠΎΠ²Ρƒ ΡƒΠ²Ρ–ΠΉΠ΄Ρ–Ρ‚ΡŒ ΠΏΡ–Π΄ Ρ†ΠΈΠΌ користувачСм

psql -U myuser -d mydatabase

5. Висновок

PostgreSQL – Ρ†Π΅ ΠΏΠΎΡ‚ΡƒΠΆΠ½Π° Ρ– Π³Π½ΡƒΡ‡ΠΊΠ° Π‘Π£Π‘Π”, яка Π½Π°Π΄Π°Ρ” Ρ€ΠΎΠ·ΡˆΠΈΡ€Π΅Π½Ρ– моТливості для управління складними Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½ΠΈΡ…. Π”ΠΎΡ‚Ρ€ΠΈΠΌΡƒΡŽΡ‡ΠΈΡΡŒ ΠΊΡ€ΠΎΠΊΡ–Π², описаних Ρƒ Ρ†Ρ–ΠΉ статті, Π²ΠΈ Π·ΠΌΠΎΠΆΠ΅Ρ‚Π΅ встановити Ρ– ΠΏΠΎΡ‡Π°Ρ‚ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ використовувати PostgreSQL. РСгулярно відстСТуйтС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ–ΡΡ‚ΡŒ Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ… Ρ– Π²ΠΏΡ€ΠΎΠ²Π°Π΄ΠΆΡƒΠΉΡ‚Π΅ Π½Π°ΠΉΠΊΡ€Π°Ρ‰Ρ– ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΡ–ΡŽΠ²Π°Π½Π½Ρ Ρ‚Π° Π±Π΅Π·ΠΏΠ΅ΠΊΠΈ, Ρ‰ΠΎΠ± Π·Π°Π±Π΅Π·ΠΏΠ΅Ρ‡ΠΈΡ‚ΠΈ Π½Π°Π΄Ρ–ΠΉΠ½Ρ–ΡΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… Ρ€Ρ–ΡˆΠ΅Π½ΡŒ для управління Π΄Π°Π½ΠΈΠΌΠΈ.

15%

Alexhost Π²ΠΈΠΊΠΎΠ½ΡƒΡ” Π²Π°ΡˆΡ– баТання

ΠŸΡ€ΠΎΠΉΠ΄Ρ–Ρ‚ΡŒ опитування Ρ‚Π° Π²ΠΈΠ³Ρ€Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ·ΠΈ