Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
07 Июн 2024
8 мин
262

PostgreSQL: Полное руководство для начинающих

Рассказываем, что такое система PostgreSQL и для каких целей она нужна, в чём ее плюсы и недостатки. Объясняем простым языком, как скачать и начать работу

Рассказываем, что такое система PostgreSQL и для каких целей она нужна, в чём ее плюсы и недостатки. Объясняем простым языком, как скачать и начать работу с этой СУБД. Вы узнаете, какие основные операции бывают и как ими пользоваться, а еще — как создать и связать две таблицы на конкретном примере.

Что такое PostgreSQL и для чего она нужна

PostgreSQL — это мощная объектно-реляционная система управления базами данных (СУБД) с открытым исходным кодом. Простыми словами, она помогает хранить информацию и организовывать ее. Открытый исходный код означает, что любой пользователь может видоизменять и улучшать данные.

Особенности и возможности PostgreSQL

  1. Поддержка стандарта SQL
    SQL (Structured Query Language) — это язык для управления и работы с базами данных. PostgreSQL поддерживает большинство стандартов SQL. Это значит, что команды и запросы для других баз данных будут работать и в PostgreSQL. Поэтому эта СУБД универсальная, ее можно использовать для разных программ и приложений: например, WordPress — популярная платформа для создания блогов и сайтов. Или
    Magento — система, которая помогает создавать интернет-магазины.
  2. Гибкость
    В PostgreSQL пользователи могут создавать функции, операторы, типы данных и индексные методы. Это значит, что, если стандартных возможностей не хватает, можно создавать собственные инструменты и расширять функционал базы данных под свои нужды.
  3. Соответствие ACID
    PostgreSQL выполняет все четыре свойства ACID — набора требований к транзакциям. Расшифровывается как Atomicity, Consistency, Isolation, Durability — атомарность, согласованность, изолированность, надежность. ACID гарантирует надежность транзакций и целостность данных.
  4. Поддержка JSON и XML
    В PostgreSQL можно хранить данные и управлять ими в форматах JSON и XML, поэтому ее часто используют для работы с неструктурированными данными. JSON (JavaScript Object Notation) — это формат для хранения и передачи данных. Он основан на тексте и представляет данные в виде пар «ключ-значение». Например, ключ — это «имя», а значение — «Иван». XML (eXtensible Markup Language) — это тоже текстовый формат, но он использует теги, чтобы определять структуру данных.
  5. Масштабируемость
    PostgreSQL поддерживает горизонтальное и вертикальное масштабирование — можно работать с большими объемами данных и с большим числом пользователей.
  6. Надежность
    PostgreSQL быстро восстанавливается после сбоев благодаря журналу изменений транзакций (WAL). Система просто «перечитывает» эти записи и применяет их заново.

Для чего используют PostgreSQL

PostgreSQL часто используют для хранения данных веб-приложений и веб-сервисов благодаря надежности и масштабируемости. СУБД поддерживает сложные запросы и подходит для аналитических приложений, систем бизнес-аналитики.

С расширением PostGIS PostgreSQL поддерживает геопространственные данные и используется в геоинформационных системах. Например, OpenStreetMap (OSM) — это проект, который предоставляет открытые географические данные о разных объектах по всему миру.

Еще PostgreSQL часто применяют в корпоративных системах: например, системы управления ресурсами (ERP), системы управления взаимоотношениями с клиентами (CRM).

В онлайн-университете Skypro можете пройти курс «Аналитик данных» и узнать всё об SQL. Научитесь прогнозировать экономические показатели бизнеса, формулировать гипотезы для роста на основе данных, переводить цифры на язык бизнес-решений. Через 12 месяцев получите диплом о профпереподготовке и начнете искать первую работу в аналитике данных. А центр карьеры в этом поможет.

Недостатки PostgreSQL

PostgreSQL — мощная и гибкая СУБД для многих задач, но, чтобы ее эффективно использовать, нужен определенный уровень знаний и опыт.

Для начинающих пользователей PostgreSQL часто сложная в настройке и администрировании по сравнению с другими. Хотя СУБД хорошо масштабируется, иногда при очень больших объемах данных бывают проблемы с производительностью — в таком случае нужны дополнительные настройки.

Часто возникают сложности, если нужно перенести приложения с других СУБД, — всё дело в различиях реализации некоторых функций и синтаксиса.

Еще PostgreSQL иногда потребляет больше системных ресурсов по сравнению с некоторыми другими СУБД, поэтому нужно больше места на серверах.

Как скачать PostgreSQL и начать работу

Зайдите на официальный сайт PostgreSQL в раздел Latest Releases. Там нужно нажать кнопку Download и выбрать операционную систему: Windows, macOS, Linux или другие.
Дальше следуйте инструкциям для загрузки установочного пакета.

Установка и запуск на Windows

Здесь всё просто.

🟢 Запустите скачанный установочный файл.
🟢 Следуйте инструкциям мастера установки.
🟢 На одном из шагов вам предложат выбрать компоненты для установки. Обычно для этого достаточно PostgreSQL и pgAdmin — это графический интерфейс для управления базой данных.
🟢 Установите пароль для администратора — он нужен, чтобы подключиться к серверу PostgreSQL и войти в pgAdmin.

Установка и запуск в Linux на примере Ubuntu

Ubuntu — это операционная система на базе Linux.

Сначала нужно обновить систему. Откройте терминал из официального репозитория вашего дистрибутива. Терминал — это текстовый интерфейс, где пользователи могут работать с операционной системой. Репозиторий дистрибутива — это сервер, на котором хранится программное обеспечение. Выполните команду для обновления списка пакетов — чтобы загрузить последние обновления:

sudo apt update

Установите PostgreSQL и дополнительные пакеты с помощью команды:

sudo apt install postgresql postgresql-contrib

Убедитесь, что служба PostgreSQL активировалась, введите команду:

sudo systemctl status postgresql

Если служба не запустилась сразу, выполните команду:

sudo systemctl start postgresql

По умолчанию PostgreSQL создает системного пользователя postgres — учетную запись в ОС. Чтобы подключиться к СУБД, переключитесь на него через команду:

sudo -i -u postgres

Затем запустите командную строку psql, создайте новую базу данных и пользователя. Например:

CREATE DATABASE mydatabase;
CREATE USER myuser WITH ENCRYPTED PASSWORD ‘mypassword’;
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;

В Skypro на курсе «Аналитик данных» кроме SQL освоите язык программирования Python, научитесь работать в Google Sheets и Excel. Даже если у вас не было в этом опыта, сможете овладеть необходимыми знаниями. Уроки ведут преподаватели-практики, которые понятно и доступно рассказывают теорию и делятся практическими советами. Кураторы и наставники будут рядом и помогут дойти в учебе до конца.

Основные операции

В PostgreSQL можно использовать разные операции, но есть несколько основных.

🔵 CREATE — создает базы данных, таблицы и другие объекты.

CREATE DATABASE — создать базу данных.
CREATE TABLE — создать таблицу.
CREATE INDEX — создать индекс.

🔵 SELECT — выбирает конкретные данные из таблиц.

SELECT * FROM mytable — простая выборка всех данных.
SELECT * FROM mytable WHERE age > 25 — выборка с условиями.
SELECT name, age FROM mytable — выборка определенных столбцов.
SELECT * FROM mytable ORDER BY age DESC — выборка с сортировкой.

🔵 DELETE — удаляет данные из таблиц.

DELETE FROM mytable WHERE name = ‘Elizaveta’ — удаление данных с условием.
DELETE FROM mytable — удаление всех данных, но не самой таблицы.

🔵 UPDATE — изменяет существующие данные в таблицах.

UPDATE mytable SET age = 31 WHERE name = ‘Ekaterina’ — обновление данных с условием.
UPDATE mytable SET age = age + 1 — обновление всех данных в таблице.

🔵 DROP — удаляет объекты: базы данных, таблицы и индексы.

DROP DATABASE mydatabase — удаление базы данных.
DROP TABLE mytable — удаление таблицы.
DROP INDEX idx_name — удаление индекса.

Как создать и связать две таблицы

Реляционная база данных — это коллекция данных в виде таблиц, которые взаимосвязаны между собой на основе определенных правил и ограничений.

Создайте связь между таблицами с помощью внешних ключей — foreign keys. В PostgreSQL это делают так: создают две таблицы, где одна будет ссылаться на другую, и определяют внешние ключи. Рассмотрим пример с двумя таблицами: employees (сотрудники) и departments (отделы). Каждому сотруднику соответствует определенный отдел.

🟢 Шаг 1. Создать таблицу departments

Создайте таблицу departments:

CREATE TABLE departments (
department_id SERIAL PRIMARY KEY,
department_name VARCHAR(100) NOT NULL
);

🟢 Шаг 2. Создать таблицу employees

Создайте таблицу employees с внешним ключом, который будет ссылаться на таблицу departments:

CREATE TABLE employees (
employee_id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
department_id INT,
salary INT,
department_id INT REFERENCES departments(department_id);

🟢 Шаг 3. Вставить данные

В этом поможет операция INSERT INTO. Добавьте данные в таблицу departments:

INSERT INTO departments (department_name) VALUES (‘Engineering’);
INSERT INTO departments (department_name) VALUES (‘Marketing’);
INSERT INTO departments (department_name) VALUES (‘Sales’);

Вставьте данные в таблицу employees:

INSERT INTO employees (name, department_id, salary) VALUES (‘Ivan Ivanov’, 1, 60000);
INSERT INTO employees (name, department_id, salary) VALUES (‘Nikolay Nikolaev’, 2, 55000);
INSERT INTO employees (name, department_id, salary) VALUES (‘Elizaveta Makarova’, 3, 50000);

🟢 Шаг 4. Проверить данные

Выберите данные из таблицы departments, а затем из employees:

SELECT * FROM departments;
SELECT * FROM employees;

🟢 Шаг 5. Соединить таблицы

Выполните запрос с соединением, чтобы получить данные сотрудников вместе с их отделами:

SELECT e.name, d.department_name, e.salary
FROM employees e
JOIN departments d ON e.department_id = d.department_id;

Готово! Вы смогли создать и связать две таблицы.

Главное о PostgreSQL

🔵 PostgreSQL — это объектно-реляционная система управления базами данных с открытым исходным кодом. Она помогает хранить, организовывать информацию и управлять ей.

🔵 PostgreSQL поддерживает стандарт SQL, гарантирует гибкость в работе с пользовательскими функциями и разными типами данных, а еще следует требованиям ACID.

🔵 Система поддерживает JSON и XML для работы с неструктурированными данными и может масштабировать их для работы с большими объемами данных и пользователей.

🔵 PostgreSQL используют, чтобы хранить данные веб-приложений, аналитические приложения, геоинформационные и корпоративные системы.

Опрос для читателей: Какой язык программирования лучше? Узнайте результат после голосования

Добавить комментарий