Написав «Хвала Alpine Linux», я решил продолжить писать
больше статей, восхваляющих хорошее программное обеспечение. Сегодня я хочу вам немного рассказать
о PostgreSQL.
Многие люди не понимают, сколько лет Postgres на самом деле: первая версия
было в июле 1996 года. Используется этот логотип:
После 25 лет упорства и лучшего дизайна логотипа, Postgres стоит сегодня
как один из важнейших столпов глубоких достижений в области свободных программ,
наряду с Linux и Firefox. PostgreSQL решил сложную проблему
и решил это настолько эффективно, что все его конкуренты
по существу устарел, возможно, за исключением SQLite.
Для начала, Postgres — это просто невероятно мощный, прочный и надежный
часть программного обеспечения, обеспечивающая наилучшую реализацию SQL.
Он дает возможность лучше понять собственное поведение и позволяет
опытный оператор настроит его для достижения оптимальной производительности. Это
поддерживает широкий набор функций и типов данных SQL, с которыми я всегда
смог эффективно хранить и извлекать мои данные. SQL обычно # 1
узкое место в веб-приложениях, и Postgres отлично справляется с предоставлением
с инструментами, необходимыми для устранения этого узкого места.
Эти инструменты также исключительно хорошо документированы. PostgreSQL
документация представляет собой невероятно подробное описание. Это заставляет всех остальных из нас стыдиться,
В самом деле. У них есть не только исчерпывающая справочная документация,
исчерпывающе описывает каждую особенность, а также огромное количество прозы,
объясняет внутренний дизайн, архитектуру и работу Postgres, а также
подробные объяснения на простом английском языке того, как могут быть выполнены различные высокоуровневые задачи
выполнено, в комплекте с необходимыми знаниями, чтобы понять те
задания. По сути, нет причин когда-либо читать сообщение в блоге или Stack Overflow
ответ о том, как что-то делать с Postgres — обложка официальной документации
подробно описан каждый аспект системы.
Проект поддерживается высокодисциплинированной командой инженеров. у меня есть
полная уверенность в своих силах решать вопросы производительности,
регрессионное тестирование и безопасность. Они публикуют тщательно подробные еженедельные
обновления разработки, а также подробные примечания к выпуску, которые снабжают вас
достаточно знаний, чтобы уверенно запускать обновления в вашем развертывании. Их мерзавец
о дисциплине тоже ходят легенды — вот последняя на тот момент фиксация
написания:
postgres_fdw: Исправлены проблемы со сгенерированными столбцами в сторонних таблицах.
postgres_fdw импортировал сгенерированные столбцы из удаленных таблиц как простые
столбцы, и вызвали сбои, такие как "ОШИБКА: невозможно вставить не-ПО УМОЛЧАНИЮ
значение в столбец "foo" "при вставке в сторонние таблицы, так как оно
пытался вставить значения в сгенерированные столбцы. Чтобы исправить, мы делаем
следуя предположению, что сгенерированные столбцы в postgres_fdw
внешние таблицы определены так, что они представляют сгенерированные столбцы в
базовая удаленная таблица:
* Отправить DEFAULT для сгенерированных столбцов на внешний сервер при вставке
или обновить, а не сгенерированные значения столбца, вычисленные на локальном сервере.
* Добавьте в postgresImportForeignSchema () параметр import_generated в
включать выражения, созданные в столбцах, в определения иностранных
таблицы, импортированные с чужого сервера. По умолчанию опция истинна.
Предположение кажется разумным, потому что это заставило бы запросить
postgres_fdw внешняя таблица возвращает значения для сгенерированных столбцов, которые
согласуются с сгенерированным выражением.
Здесь исправьте еще одну проблему в postgresImportForeignSchema (): она пробовала
для включения выражений, сгенерированных столбцом, в качестве выражений столбца по умолчанию в
определения сторонней таблицы, когда была включена опция import_default.
По ошибке №16631 от Даниила Черного. Обратный патч до версии 12, где сгенерирован
столбцы были добавлены.
Обсуждение: https://postgr.es/m/16631-e929fe9db0ffc7cf%40postgresql.org
Они все такие.
В конечном итоге PostgreSQL — технически сложная программа, требующая
опытный и квалифицированный оператор, чтобы быть эффективным. Научиться использовать это дорого
инвестиции, даже если они хорошо окупаются. Хотя Постгрес иногда
разочаровал или смутил меня, в целом мои чувства к нему подавляюще
положительный. Это невероятно качественный продукт, а его огромные и
все еще растущие успехи очень хорошо заработаны. Когда я думаю о проектах, которые
оказали наиболее значительное влияние на экосистему свободного программного обеспечения и
во всем мире PostgreSQL занимает свое место в этом списке.