15%

Alexhost исполняСт ваши ТСлания

ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ опрос ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ·Ρ‹

01.11.2024

Руководство ΠΏΠΎ PostgreSQL

PostgreSQL – мощная рСляционная систСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π Π‘Π£Π‘Π”) с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, извСстная своСй ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями. Она ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ языки программирования. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΠ±Π·ΠΎΡ€ PostgreSQL, Π΅Π΅ основных возмоТностСй, установки ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ использования

1. ПониманиС PostgreSQL

PostgreSQL – это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционная систСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (ORDBMS), которая Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° счСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° JSON, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… языков. Она извСстна своСй Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ способна с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ слоТныС запросы ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

2. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности PostgreSQL

2.1. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° мноТСства Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹ΠΉ поиск.

2.2. Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ

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

2.3. Бильная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹

  • MVCC (Multi-Version Concurrency Control).
  • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ свойства ACID (Atomicity, Consistency, Isolation, Durability), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

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 исполняСт ваши ТСлания

ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ опрос ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ·Ρ‹