Рубрика: Устройство PostgreSQL
-
Уровни изоляции транзакций PostgreSQL
Уровни изоляции транзакций являются ключевым аспектом реляционных баз данных, включая PostgreSQL. Они определяют, как данные изолируются друг от друга при выполнении параллельных транзакций, обеспечивая согласованность и целостность данных. PostgreSQL поддерживает стандартные уровни изоляции, определенные ANSI SQL, а также дополнительные режимы, обеспечивая гибкость и оптимизацию работы с данными. Уровни называются во взаимосвязи с аномалиями, которые допускаются…
-
Транзакции и MVCC в PostgreSQL
MVCC (Multi-Version Concurrency Control) – это механизм управления параллельным доступом к данным в базе данных, который широко используется в PostgreSQL и других СУБД для поддержки одновременных транзакций (что такое транзакции – здесь). MVCC позволяет разным транзакциям видеть базу данных в разных “версиях” (или состояниях), что обеспечивает высокую степень изоляции и консистентности данных. Как это работает:…
-
Транзакции в PostgreSQL
Реляционная теория и SQL позволяет абстрагироваться от конкретной реализации СУБД, но есть одна непростая проблема: как обеспечить параллельную работу множества сессий (concurrency), которые модифицируют данные, так, чтобы они не мешали друг другу ни с точки зрения чтения, ни с точки зрения записи и обеспечивали целостность данных (consistency) и их надежность (durability)? Ответ – транзакционные системы…
-
Использование DML (Data Manipulation Language) в PostgreSQL
Одной из важнейших функций PostgreSQL является возможность выполнения операций манипуляции данными (DML), которые позволяют добавлять, изменять и удалять данные в таблицах. В этой статье мы рассмотрим основы использования DML в PostgreSQL и покажем примеры различных операций. Что такое DML? DML (Data Manipulation Language) – это часть языка SQL, которая позволяет осуществлять манипуляцию данными в базе…
-
Базовые настройки PostgreSQL
После установки инстанс PostgreSQL в целом НЕ настроен и это может отрицательно отразиться на производительности. Несмотря на то, что настроек в PostgreSQL более 350, можно выделить основные: shared_buffers Используется для кэширования данных. По умолчанию низкое значение (для поддержки как можно большего кол-ва ОС). Начать стоит с его изменения. Согласно документации, рекомендуемое значение для данного параметра…
-
Структура БД (DDL) в PostgreSQL
В предыдущей статье мы рассмотрели логическую структуру PostgreSQL и видели, что основным контейнером верхнего уровня является База Данных, далее идет схема и в ней уже создаются другие объекты. Схемой по умолчанию является схема public. Именно в ней и создаются по умолчанию все объекты. Хорошей практикой является использовать свои схемы, а на public отобрать права у…