Пересказ статьи Shivayan Mukherjee. PostgreSQL User Defined Functions
Здесь мы узнаем об определяемых пользователем функциях в PostgreSQL, а именно, что такое пользовательская функция, как ее создать и использовать в запросах и PgAdmin GUI, об их преимуществах. Будут рассмотрены некоторые примеры.
Continue reading "Функции пользователя в PostgreSQL"
Пересказ статьи Shivayan Mukherjee. PostgreSQL Triggers Part 2
Обзор статьи
В этой статье мы узнаем, как удалять, изменять, включать и выключать триггер в PostgreSQL. В первой части этой серии был сделан общий обзор триггеров базы данных, специфики триггеров в PostgreSQL, типов триггеров PostgreSQL и того, как создать триггер в базовом синтаксисе на примерах. Если вы пропустили эту статью, вот
ссылка на нее.
Continue reading "Триггеры в PostgreSQL: часть 2"
Пересказ статьи Shivayan Mukherjee. PostgreSQL Triggers Part 1
Содержание статьи
В этой статье рассматриваются следующие темы:
- Концепция триггера базы данных
- Типы триггеров
- Ключевые отличия триггера в PostgreSQL от триггера в SQL Server
- Обзор операций триггера в PostgreSQL
- Доступ к триггеру посредством pgAdmin и psql
Continue reading "Триггеры в PostgreSQL: часть 1"
Пересказ статьи Paul S.Randal. An Introduction to PostgreSQL Concurrency Control
Будучи длительное время консультантом по базам данных, я разрешил больше проблем, связанных с блокировками в базах данных, чем могу сосчитать. Зачастую эти блокировки возникали из-за конфликта между процессами, которым требовалось читать строки, модифицируемым в это время.
PostgreSQL использует оптимистическую систему изоляции, известную как Многоверсионный Контроль Параллелизма (MVCC). MVCC гарантирует, что транзакции, записывающие данные в базу, не блокируют параллельные транзакции, которым требуется читать модифицируемые данные. Это работает посредством магии версионности строк - PostgreSQL создает версии строк в таблицах базы данных для минимизации блокировок при параллельном доступе. По мере того, как все больше версий создается, для обеспечения надлежащего обслуживания таблиц должен использоваться механизм управления сборкой мусора, называемый VACUUM. В настоящей статье я объясню, как все это работает на ряде примеров.
Continue reading "Введение в управление параллелизмом в PostgreSQL"
Пересказ статьи Paul S. Randal. An Introduction to B-Tree and Hash Indexes in PostgreSQL
В этой статье изучаются реализация B-Tree (B означает сбалансированное) и структуры данных хэш-индекса в PostgreSQL. По мере роста популярности PostgreSQL в качестве системы баз данных с открытыми кодами для разработчиков и как цель для переноса рабочей нагрузки Oracle, понимание работы индексов в PostgreSQL исключительно важно для разработчиков и администраторов баз данных. PostgreSQL имеет несколько других типов индексов, таких как индексы GIN, индексы GiST и индексы BRIN. В этой статье я не буду их рассматривать, поскольку они специфичны для поиска в тексте, географических и других сложных типов данных. И, хотя использование индекса B-Tree покрывает примерно 90% случаев использования, хэш-индексы и их концепция также важны для понимания.
Continue reading "Введение в B-Tree и хэш-индексы в PostgreSQL"
Пересказ статьи Grant Fritchey. Data Types in PostgreSQL: Learning PostgreSQL with Grant
Когда я решил, что следующая статья должна быть посвящена типам данных, я мало представлял себе, во что ввязываюсь. Согласно
официальной документации PostgreSQL, имеется двадцать категорий типов данных. В SQL Server есть всего 35 типов данных. Я думал о том, как изучить эти типы данных и написать об этом статью. Я решил, что статья будет посвящена только категориям типов данных, а затем каким-либо интересным моментам в этих категориях. Поэтому я не собираюсь сейчас углубляться в конкретные типы данных. Это просто слишком обширная тема.
Continue reading "Типы данных в PostgreSQL: изучаем PostgreSQL с Grant Fritchey"
Пересказ статьи Grant Fritchey. How to back up and restore in PostgreSQL: Learning PostgreSQL with Grant
Когда я знакомлюсь с новой системой, я, в первую очередь, смотрю на состояние резервных копий. Я не вижу ничего такого в PostgreSQL, что привело бы меня к другому выводу. Однако я не подозревал, сколько неожиданного я открою, занимаясь резервным копированием и восстановлением.
Вместо того, чтобы сразу говорить о создании резервных копий, давайте поговорим о восстановлении.
Continue reading "Создание резервных копий и восстановление в PostgreSQL: Изучение PostgreSQL с Grant Fritchey"
Пересказ статьи Grant Fritchey. Creating a Database and Tables in PostgreSQL: Learning PostgreSQL with Grant
У вас есть локально работающий экземпляр PostgreSQL. Что дальше? Создание резервных копий. Но прежде мне нужно создать базу данных и пару таблиц, чтобы было что архивировать.
Как и в любой системе управления данными, имеется много способов это сделать. Вы можете делать все в командной строке или же использовать графический интерфейс пользователя (GUI), который позволяет вам работать с PostgreSQL. Команды SQL доступны сразу, как только вы подключились к PostgreSQL. Здесь я, в первую очередь, буду работать с Azure Data Studio (ADS). Это обусловлено тем, что:
- Мне нравится Azure Data Studio. С ней легко работать. Она быстрая. Она чистая. Она имеет плагины для выполнения различных вещей.
- Например, она очень хорошо подключается к GitHub, поэтому вы можете легко держать разрабатываемые коды на GitHub.
- Мне просто более комфортно работать над кодом с выделенным инструментом, а не просто выполняя его из командной строки.
- Я не хочу описывать каждый отдельный имеющийся метод, поэтому я должен был выбрать один. И я его выбрал.
Итак, начнем.
Continue reading "Создание базы данных и таблиц в PostgreSQL: Изучение PostgreSQL с Grant Fritchey"
Пересказ статьи Everett Berry. Inspecting Joins in PostgreSQL
PostgreSQL использует различные алгоритмы для реализации JOIN в зависимости от запроса. Мы можем исследовать план запроса, чтобы выяснить, какой тип был использован.
Введение
Реляционные базы данных распределяют свои данные по многим таблицам в соответствии с правилами нормализации или бизнес-сущностями. Это упрощает поддержку растущей схемы базы данных. Реальные запросы зачастую обращаются к нескольким таблицам, что неизбежно приводит к соединению этих таблиц.
PostgreSQL использует много алгоритмов соединения таблиц. В этой статье мы рассмотрим, как соединения работают за сценой с точки зрения планировщика, и поймем, как их оптимизировать.
Continue reading "Обзор соединений в PostgreSQL"
Пересказ статьи Andrea Gnemmi. Varchar Data Types in SQL Server, Oracle and PostgreSQL
Здесь мы рассмотрим как сохранить максимальное число символов в столбце переменной длины и различия между тремя системами баз данных. В частности, будут рассмотрены различные процедуры, используемые для хранения больших строк в столбце с целью обработки большого текста или структурированных данных типа JSON (будет отдельная статья).
Continue reading "Типы данных varchar в SQL Server, Oracle и PostgreSQL"
Пересказ статьи Andrea Gnemmi. SQL Identity Column Gaps and Conversion in SQL Server, Oracle and PostgreSQL
В
первой части этой серии статей мы узнали, что представляет собой столбец identity, а также различные способы его установки и модификации в SQL Server, Oracle и PostgreSQL. Теперь мы глубже заглянем в столбцы identity и рассмотрим такие вопросы, как кэширование значений identity и как преобразовать существующий столбец (содержащий данные) в столбец identity.
Continue reading "Пропуски в столбце SQL Identity и пересчет в SQL Server, Oracle и PostgreSQL"
Пересказ статьи Nisarg Upadhyay. Configure a Linked Server between SQL Server and PostgreSQL using ODBC drivers
В этой статье рассматривается конфигурирование связанного сервера между SQL Server 2019 и PostgreSQL. Моя предыдущая статья под названием
Configure ODBC drivers for PostgreSQL являлась введением в драйвер ODBC для PostgreSQL. Мы рассмотрели как загрузить, установить и сконфигурировать драйвер. Теперь мы узнаем как использовать драйвер ODBC для доступа к данным в PostgreSQL из SQL Server 2019.
Continue reading "Конфигурирование связанного сервера между SQL Server и PostgreSQL при использовании ODBC-драйверов"
Пересказ статьи Rayis Imayev. Error [IM002] [Microsoft][ODBC Driver Manager] "Data source name not found and no default driver specified" and who do you trust?
Это очень короткий пост, просто чтобы напомнить себе, но, если вы когда-либо пытались подключиться к базе данных PostgreSQL с помощью интерфейса ODBC (знаю, что это уже звучит, как очень интересный вызов), то могли столкнуться с таким сообщением об ошибке: “ERROR [IM002] [Microsoft][ODBC Driver Manager] Источник данных не найден и не указан драйвер по умолчанию.”
Continue reading "Error [IM002] [Microsoft][ODBC Driver Manager] "Data source name not found and no default driver specified" и кому доверять?"
Пересказ статьи Andrea Gnemmi. SQL String functions in SQL Server, Oracle and PostgreSQL
Строковые функции широко используются для манипуляции, извлечения, форматирования и поиска текста для типов данных char, nchar (unicode), varchar, nvarchar (unicode) и т.д. К сожалению, имеются некоторые отличия в строковых функциях SQL Server, Oracle и PostgreSQL, которые обсуждаются в этой статье.
Continue reading "Функции работы со строками в SQL Server, Oracle и PostgreSQL"
Пересказ статьи Igor Bobriakov, Everett Berry. Advanced PostgreSQL Features: A Guide
Несмотря на растущую популярность баз данных NoSQL, реляционные базы данных все еще остаются предпочтительным выбором для многих приложений. Это связано с их развитыми запросами и надежностью.
Реляционные базы данных прекрасно себя ведут при выполнении сложных запросов и отчетов на базе данных, структура которых не изменяется часто. Реляционные базы данных с открытыми кодами, подобные MySQL и PostgreSQL, предоставляют альтернативу по цене-эффективности в качестве стабильных производственных баз данных лицензионным конкурентам типа Oracle, MSSQL и другим.
Continue reading "Продвинутые возможности PostgreSQL: Руководство"