Postrege sql: The world’s most advanced open source database

что это за база данных

PostgreSQL — это объектно-реляционная система управления базами данных (ORDBMS), наиболее развитая из открытых СУБД в мире. Имеет открытый исходный код и является альтернативой коммерческим базам данных.

Логотип PostgreSQL

Ранние версии системы были основаны на старой программе POSTGRES University, созданной университетом Беркли: так появилось название PostgreSQL. И сейчас СУБД иногда называют «Постгрес». Существуют сокращения PSQL и PgSQL — они тоже обозначают PostgreSQL.

СУБД позволяет гибко управлять базами данных (БД). С ее помощью можно создавать, модифицировать или удалять записи, отправлять транзакцию — набор из нескольких последовательных запросов на особом языке запросов SQL.

Кто пользуется PostgreSQL

  • Бэкенд-разработчики, которым приходится взаимодействовать с базами данных при работе с «серверной» частью сайта.
  • Администраторы и разработчики баз данных — специалисты, основная задача которых заключается в обслуживании и поддержке работоспособности базы.
  • DevOps-инженеры, обслуживающие рабочую инфраструктуру проекта.

Для чего нужна PostgreSQL

  • Гибкий доступ к базам данных, их организация и хранение.
  • Управление записями в базах данных: создание, редактирование и удаление, обновление версий и так далее.
  • Просмотр нужной информации из базы по запросу, например для ее отправки на сайт или в интерфейс приложения.
  • Отправка транзакций, последовательных запросов, собранных в подобие скрипта.
  • Настройка и контроль доступа к той или иной информации, группировка пользователей по уровню прав.
  • Контроль версий и организация одновременного доступа к базе из разных источников так, чтобы предотвратить сбои.
  • Защита информации от возможных утечек и потерь.
  • Контроль состояния базы в целом.

Преимущества PostgreSQL

Иногда СУБД называют бесплатным аналогом Oracle Database. Обе системы адаптированы под большие проекты и высокую нагрузку. Но есть разница: они по-разному хранят данные, предоставляют разные инструменты и различаются возможностями. Важная особенность PostgreSQL в том, что эта система — feature-rich: так называют проекты с широким функционалом.

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

Существует еще одна популярная модель — объектная. Данные представляются в виде объектов, их атрибутов, методов и классов. Объектная модель поддерживает возможности, о которых мы подробно рассказывали в статье про ООП, например наследование.

PostgreSQL — объектно-реляционная СУБД. Это значит, что она поддерживает и объектный, и реляционный подход.

Поддержка множества типов данных. Еще одна особенность PostgreSQL — поддержка большого количества типов записи информации. Это не только стандартные целочисленные значения, числа с плавающей точкой, строки и булевы значения («да/нет»), но и денежный, геометрический, перечисляемый, бинарный и другие типы. PostgreSQL «из коробки» поддерживает битовые строки и сетевые адреса, массивы данных, в том числе многомерные, композитные типы и другие сложные структуры. В ней есть поддержка XML, JSON и NoSQL-баз.

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

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

Ограничения касаются только конкретных записей. Одна таблица может занимать не больше 32 Тб, а одна запись — 1,6 Тб. В одном поле записи может быть не больше 1 Гб данных, а максимальное количество полей зависит от типа и составляет от 250 до 1600 штук. Максимальных значений хватает, чтобы хранить в БД любые данные.

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

Написание функций на нескольких языках. В PostgreSQL можно писать собственные функции — пользовательские блоки кода, которые выполняют те или иные действия. Эта возможность есть практически в любых СУБД, но PostgreSQL поддерживает больше языков, чем аналоги. Кроме стандартного SQL, в PostgreSQL можно писать на C и C++, Java, Python, PHP, Lua и Ruby. Он поддерживает V8 — один из движков JavaScript, поэтому JS тоже можно использовать совместно с PgSQL. Реализована поддержка Delphi, Lisp и прочих редких языков. При необходимости можно расширить систему под другие ЯП.

Модификация SQL, которая используется в PostgreSQL, называется PL/pgSQL. Это процедурное расширение, которое поддерживает сложные вычисления и дополняет «классический» SQL новыми возможностями.

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

В PostgreSQL для этого используется технология MVCC — Multiversion Concurrency Control, многоверсионное управление параллельным доступом. Каждый пользователь получает снапшот — «снимок» базы, в который вносятся изменения. Только после фиксации транзакции они поступают в исходную базу данных. Пока человек вносит изменения, они не видны другим пользователям. Конфликтов не возникает, как и необходимости блокировать чтение или запись.

Соответствие ACID. ACID — это набор принципов для обеспечения целостности данных. Аббревиатура расшифровывается как Atomicity, Consistency, Isolation, Durability — атомарность, согласованность, изолированность, прочность. Если база данных соответствует этим принципам, она ведет себя максимально предсказуемо и надежно. В ней низок риск конфликта или непредвиденного поведения системы.

PostgreSQL соблюдает требования ACID благодаря технологии MVCC. Это делает систему надежной и безопасной в использовании, а данные — защищенными от возможных сбоев, ошибок и потерь.

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

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

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

На базе PostgreSQL существуют коммерческие продукты с платным доступом — ими обычно пользуются крупные компании, которым нужна дополнительная функциональность. Это, например, связь с Oracle Database или продвинутый веб-интерфейс для администрирования БД.

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

Согласно независимым автоматизированным исследованиям, в исходном коде СУБД есть одна ошибка на 39 000 строк кода. Это в пять раз меньше, чем в MySQL, и в пятьдесят раз меньше, чем в ядре операционной системы Linux.

Кроссплатформенность. Чаще всего PostgreSQL используют на серверах с операционными системами семейства Linux, но СУБД поддерживает и другие ОС. Ее можно установить в системы на базе Windows, BSD, macOS и Solaris. Кроме того, у PostgreSQL есть автономный веб-сервер PostgREST, с которым можно работать с помощью REST API. СУБД можно развернуть и в облаке.

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

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

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

После скачивания потребуется место для размещения серверной части СУБД. Обычно для этого арендуются мощности веб-серверов хостингов.

Более сложный процесс — настройка и развертывание базы данных, управление ей. Для этого потребуются знания бэкенд-разработчика или администратора БД. В случае с PostgreSQL нужно заранее ознакомиться с документацией или мануалами. Также получить все перечисленные знания можно на курсах SkillFactory.

Что такое PostgreSQL? – Amazon Web Services

Amazon RDS

Обзор
Характеристики
Двигатели БД
Цены
Ресурсы
Часто задаваемые вопросы
Клиенты
Партнеры

Закрыть
Амазонка Аврора
RDS для MySQL
RDS для PostgreSQL
RDS для MariaDB
RDS для Oracle
RDS для SQL-сервера
Amazon RDS Пользовательский

Закрыть
Возможности Amazon RDS
Безопасность Amazon RDS
Статистика производительности
RDS-прокси
RDS на аванпостах
Чтение реплик
Мульти-АЗ

Надежная реляционная база данных с открытым исходным кодом

PostgreSQL — это передовая реляционная база данных корпоративного класса с открытым исходным кодом, которая поддерживает запросы SQL (реляционные) и JSON (нереляционные). Это очень стабильная система управления базами данных, поддерживаемая более чем 20-летним развитием сообщества, что способствовало ее высокому уровню устойчивости, целостности и правильности. PostgreSQL используется в качестве основного хранилища данных или хранилища данных для многих веб-приложений, мобильных, геопространственных и аналитических приложений. Последняя основная версия — PostgreSQL 12.9.0003

PostgreSQL имеет богатую историю поддержки расширенных типов данных и поддерживает уровень оптимизации производительности, характерный для коммерческих аналогов баз данных, таких как Oracle и SQL Server. AWS поддерживает PostgreSQL через полностью управляемый сервис баз данных Amazon Relational Database Service (RDS). Amazon Aurora с совместимостью с PostgreSQL также создан с использованием PostgreSQL.

Узнайте об Amazon RDS для PostgreSQL

Преимущества использования PostgreSQL

Богатые функции и расширения

PostgreSQL обладает надежными наборами функций, включая многоверсионный контроль параллелизма (MVCC), восстановление на определенный момент времени, детализированное управление доступом, табличные пространства, асинхронную репликацию, вложенные транзакции, оперативное/горячее резервное копирование, усовершенствованный планировщик запросов /optimizer и ведение журнала упреждающей записи. Он поддерживает международные наборы символов, многобайтовые кодировки символов, Unicode и учитывает язык для сортировки, учета регистра и форматирования. PostgreSQL обладает высокой масштабируемостью как по количеству данных, которыми он может управлять, так и по количеству одновременно работающих пользователей.

Надежность и соответствие стандартам

Ведение журнала упреждающей записи в PostgreSQL делает базу данных очень отказоустойчивой. Его большая база участников с открытым исходным кодом обеспечивает встроенную сеть поддержки сообщества. PostgreSQL совместим с ACID и полностью поддерживает внешние ключи, соединения, представления, триггеры и хранимые процедуры на многих языках. Он включает большинство типов данных SQL:2008, включая INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL и TIMESTAMP. Он также поддерживает хранение больших двоичных объектов, включая изображения, звуки или видео.

Лицензия с открытым исходным кодом

Исходный код PostgreSQL доступен по лицензии с открытым исходным кодом, что дает вам свободу использовать, изменять и внедрять его по своему усмотрению и бесплатно. PostgreSQL не требует затрат на лицензирование, что исключает риск чрезмерного развертывания. Специальное сообщество разработчиков и энтузиастов PostgreSQL регулярно находит ошибки и исправляет их, способствуя общей безопасности системы баз данных.

История PostgreSQL

Проект PostgreSQL начался в 1986 под руководством профессора Майкла Стоунбрейкера Калифорнийского университета в Беркли. Первоначально проект назывался POSTGRES в честь старой базы данных Ingres, также разработанной в Беркли. POSTGRES стремился добавить наименьшее количество функций, необходимых для полной поддержки нескольких типов данных. В 1996 году проект был переименован в PostgreSQL, чтобы проиллюстрировать его поддержку языка запросов SQL (хотя PostgreSQL по-прежнему обычно сокращают до Postgres). Преданное и разнообразное сообщество участников — Глобальная группа разработки PostgreSQL — продолжает выпускать регулярные основные и второстепенные выпуски бесплатного проекта базы данных с открытым исходным кодом.

Популярные варианты использования PostgreSQL

База данных OLTP общего назначения

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

Геопространственная база данных

При использовании с расширением PostGIS PostgreSQL поддерживает географические объекты и может использоваться в качестве хранилища геопространственных данных для сервисов на основе местоположения и географических информационных систем (ГИС).

База данных федеративного хаба

Упаковщики внешних данных PostgreSQL и поддержка JSON позволяют связываться с другими хранилищами данных, включая типы NoSQL, и выступать в качестве федеративного хаба для полиглотных систем баз данных.

Стек с открытым исходным кодом LAPP

PostgreSQL может запускать динамические веб-сайты и приложения как часть надежной альтернативы стеку LAMP (LAPP означает Linux, Apache, PostgreSQL и PHP, Python и Perl).

Языковая поддержка

PostgreSQL поддерживает большинство ведущих языков программирования и протоколов, в том числе:

Python

Java

Perl

.Net

Go

Ruby

C/C++

Tcl 9000 3

ОДБК

Полностью управляемый PostgreSQL на AWS

Amazon предлагает полностью управляемый сервис реляционной базы данных Amazon RDS для PostgreSQL, доступный для бесплатного пробного использования в рамках уровня бесплатного пользования AWS. Amazon Relational Database Service (RDS) упрощает настройку, эксплуатацию и масштабирование развертываний PostgreSQL в облаке. С помощью Amazon RDS вы можете развернуть развертывание PostgreSQL в масштабе Интернета за считанные минуты, используя экономически эффективные и масштабируемые аппаратные ресурсы.

Начать работу с Amazon RDS для PostgreSQL просто:

Зарегистрируйтесь в Amazon RDS

Учитесь с помощью простых руководств

Начните сборку с помощью Amazon RDS

Узнайте больше об Amazon RDS для PostgreSQL

Войдите в консоль

Узнайте об AWS

  • Что такое AWS?
  • Что такое облачные вычисления?
  • Инклюзивность, разнообразие и справедливость AWS
  • Что такое DevOps?
  • Что такое контейнер?
  • Что такое озеро данных?
  • Облачная безопасность AWS
  • Что нового
  • Блоги
  • Пресс-релизы

Ресурсы для AWS

  • Начало работы
  • Обучение и сертификация
  • Библиотека решений AWS
  • Архитектурный центр
  • Часто задаваемые вопросы по продуктам и техническим вопросам
  • Аналитические отчеты
  • Партнеры AWS

Разработчики на AWS

  • Центр разработчиков
  • SDK и инструменты
  • . NET на AWS
  • Python на AWS
  • Java на AWS
  • PHP на AWS
  • JavaScript на AWS

Amazon является работодателем с равными возможностями:
Меньшинства / Женщины / Инвалидность / Ветеран / Гендерная идентичность / Сексуальная ориентация / Возраст.

  • Конфиденциальность
  • |
  • Условия сайта
  • |
  • Настройки файлов cookie
  • |
  • © 2023, Amazon Web Services, Inc. или ее дочерние компании. Все права защищены.

Поддержка AWS для Internet Explorer заканчивается 31.07.2022. Поддерживаемые браузеры: Chrome, Firefox, Edge и Safari.
Узнать больше »

MariaDB подключает внешний интерфейс PostgreSQL к SkySQL DBaaS • Реестр

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

Этот шаг, получивший название Xpand, предназначен для пользователей, которые управляют своими собственными базами данных PostgreSQL, а также для пользователей с общими системами DBaaS, совместимыми с PostgreSQL, предлагаемыми AWS, Google Cloud и Microsoft Azure.

Выступая вчера на конференции OpenWorks в Нью-Йорке, генеральный директор Майкл Ховард (Michael Howard) сказал, что Xpand имеет преимущество использования «неразветвленной» версии PostgreSQL, в отличие от CockroachDB, которая, как он утверждал, перестроила PostgreSQL для своей распределенной СУБД.

Он заявил, что

Xpand предлагает преимущества в производительности и надежности по сравнению с Aurora, AWS PostgreSQL DBaaS. Он также сказал, что у него есть преимущество использования инструментов PostgreSQL с открытым исходным кодом, таких как PG Admin, инструмент, широко используемый администраторами для управления и мониторинга своих приложений.

Доменик Равита, главный евангелист продуктов Cockroach Labs, определил подход компании.

«Я считаю, что если бы [автор PostgreSQL] Майкл Стоунбрейкер переписал PostgreSQL сегодня, он, вероятно, следовал бы тем же принципам, что и CockroachDB. совместим с PostgreSQL», — сказал он.

Тем не менее, MariaDB утверждает, что сделала нечто подобное, хотя и с использованием распределенного SQL в качестве внутреннего механизма базы данных. Как и PostgreSQL, он будет доступен для внешнего интерфейса MariaDB, а в ближайшем будущем — для MySQL, от которого произошел ответвление MariaDB.

  • MariaDB сокращает рабочие места, повторяет предупреждение фондовому рынку о непрерывности деятельности
  • От Sun к облаку: MariaDB занимает место на рынке баз данных
  • AWS затянулся на длительное время простоя для миграции PostgreSQL DBaaS
  • MariaDB покупает геопространственного специалиста CubeWerx

«Мы не будем трогать кодовую базу PostgreSQL и создавать ее форк», — сказал Джагс Рамнараян, старший вице-президент SkySQL, The Register . «Мы используем только точку расширения, в частности, вещь, называемую внешними оболочками данных. Это то, что мы используем, чтобы затем предоставить вам этот повышающий движок для PostgreSQL».

Он сказал, что концептуально он похож на CockroachDB и Yugabyte, которые имеют серверную часть на основе Google Spanner, но предлагает разработчикам полную совместимость с PostgreSQL.

MariaDB заявила, что ее тесты показали, что PostgreSQL с Xpand масштабируется в пять раз по количеству пользователей при удвоенной пропускной способности по сравнению с PostgreSQL и другими популярными облачными провайдерами.

Смелый план

Несмотря на надежность тестов, предоставленных поставщиком, один аналитик был впечатлен.

Карл Олофсон, вице-президент по исследованиям в IDC, сообщил The Register , что новый продукт понравится многонациональным компаниям.

«Это смелый, амбициозный план, потому что они говорят о нетривиальной технологии. Это не просто мультилокация, это настоящее географическое распределение во времени», — сказал он.

«MariaDB ожидает, что они смогут предоставить единую синхронную базу данных для разных регионов, что поставит их в одну категорию с Google Spanner, CockroachDB и подобными продуктами. Это довольно сложная задача.»

Кроме того, он предположил, что это понравится пользователям PostgreSQL, которые администрируют свои собственные базы данных с помощью его инструментов администрирования.

«Есть ряд пользователей, у которых есть версии PostgreSQL для сообщества, которые они будут администрировать сами, потому что они не полностью удовлетворены реализациями какого-либо поставщика. Они потенциально перспективны для Xpand», — сказал он.

Олофсон сказал, что помимо облачных провайдеров, он считает, что единственным другим вариантом облачного развертывания PostgreSQL является Big Animal от EnterpriseDB, обычная база данных, реализованная в облаке, а не распределенная система.

PostgreSQL является четвертой по популярности базой данных в рейтинге системных СУБД после Oracle, MySQL и Microsoft SQL Server.