LINUX.ORG.RU

В свободном доступе опубликована книга «PostgreSQL 16 изнутри»

 , , , ,


6

3

Компания Postgres Professional выпустила обновленную книгу «PostgreSQL 16 изнутри» — бестселлер о PostgreSQL, не имеющего аналогов на русском языке. Автор книги — Егор Рогов, директор по разработке образовательных программ Postgres Professional.

Первое издание, основанное на 14-й версии PostgreSQL, было выпущено в марте 2022 года и обновлено до 15 версии. Из-за большого читательского интереса компания перевела книгу на английский язык. Позже она стала самым популярным тематическим изданием 2023 года по версии Postgres Weekly и вошла в список профессиональной литературы на официальном сайте сообщества PostgreSQL.

В актуальной редакции учтены замечания читателей, исправлены опечатки, а также отражены изменения, произошедшие в версии PostgreSQL 16.

Электронная версия издания свободно доступна на сайте Postgres Professional. Заказать печатный вариант можно на сайте издательства ДМК Пресс.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)

Автор книги — Егор Рогов, директор по разработке образовательных программ Postgres Professional.

Читал отличные статьи от этого персонажа по блокировкам, индексам и особенностям запросов в Postgres.

theNamelessOne ★★★★★
()

Вот это круто! Вот это спасибо!

keeper_b ★★★★
()

Спасибо, как раз начал читать книгу более ранней версии. Очень хороша.

Wizard_ ★★★★★
()

Немного не в тему. А почему на современных книгах по всяким айтишным темам рисуют всяких животных?

papin-aziat ★★★★★
()

Моё почтение Егору Рогову!

zg
()
Ответ на: комментарий от zelo

А для админов там нет книги ? Я конечно рад за программеров Си (или не чем там писана ПГ), но мне нутро ее не очень интересно, не собираюсь крячить код или свою БД мутить. А вот всякие адмниские настройки и т.д. было бы полезны.

mx__ ★★★★★
()
Ответ на: комментарий от papin-aziat

The idea of using animals on the covers of O’Reilly’s books came from Edie Freedman, a creative director who was hired by Tim O’Reilly in the late 1980s. Freedman was inspired by the weird and obscure terms associated with Unix, which reminded her of Dungeons and Dragons, a game popular with geeks.

MoldAndLimeHoney
()

Хорошая новость. Надо будет заказать.

sparkie ★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

Наверное мой перевод слишком примитивен, но я ни как не могу понять связь между Подземелья-и-Драконы и обычными животными.

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)

Егор Рогов постгресоид от Бога. Мне посчастливилось лично поучиться на его очных лекциях в НГТУ им. Р. Е. Алексеева в далеком 2018 году.

kokonoe
()
Ответ на: комментарий от mx__

Дык книга по внутреннему устройству сабжа.

sparkie ★★★★
()

не имеющего аналогов на русском языке

А я вот даже и на английском аналогов не знаю. Книга, как и статьи автора, великолепна.

satanic-mechanic
()

Побольше бы таких книг. И про Линукс. Один индус написал вот пару лет назад, так тут его с говном смешали.

seiken ★★★★★
()
Ответ на: комментарий от mord0d

Я сейчас сохранял postgresql_internals-16.pdf, обнаружил у себя postgresql_internals-15.pdf и postgresql_internals-14.pdf.

Надо будет как-нибудь почитать всё же :-)

Beewek ★★
()
Ответ на: комментарий от fMad

Отличные книги пишет автор Рогов

Да, у чувака талант.

sparkie ★★★★
()
Ответ на: комментарий от mx__

Наверное мой перевод слишком примитивен, но я ни как не могу понять связь между Подземелья-и-Драконы и обычными животными.

Women..

MoldAndLimeHoney
()
Ответ на: комментарий от theNamelessOne

Автор книги — Егор Рогов

Читал отличные статьи от этого персонажа по блокировкам, индексам и особенностям запросов в Postgres.

Книга изначально и была создана по мотивам этих статей на Хабре.

MichIs
()

Постгря это тоталитарная секта. Покайтесь!

Logopeft ★★
()

эммм... не хватает глав про disaster recovery, chunk cancelation, и journal fixups for disaster recovery.
без этого книга выглядит как пересказ DBA-*/SQL-*/DEV-*

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 1)
Ответ на: комментарий от etwrq

эммм… не хватает глав про disaster recovery, chunk cancelation, и journal fixups for disaster recovery.

Таки, у меня для вас есть 2 варианта:

  1. Сколько вы готовы заплатить, за то, чтобы эти сведения появились в книге и вы ее смогли купить? Назовите справедливую цену. любой труд должен быть вознагражден, тем более труд создателей этой книги.

  2. Готовы ли вы подготовить отсутствующий, по-вашему мнению, в книге материал самостоятельно и передать его PostgresPro для включения в книгу, естественно, с указанием вашего имярека на обложке книги, чтобы она была и дальше бесплатной для сообщества?

MichIs
()
Ответ на: комментарий от zg

Ох уж этот технократический шовинизм!

Да и вообще, подобное деление – это навязанный социальный конструкт! :\

ssh2 ★★★★
()
Ответ на: комментарий от ssh2

Обычное разделение труда. У гуманитариев своя работа.

zg
()

Скачал. И заказал бумажную, чтобы поддержать автора и идею выкладывать PDF в открытый доступ.

mogwai ★★★★★
()
Ответ на: комментарий от seiken

Если вы про Kaiwan N Billimoria - Linux Kernel Programming, то отличная книга. Как и та, про которую тема.

blex ★★
()
Ответ на: комментарий от Beewek

Абсолютно тот же сценарий у меня, но 14 я не качал, потому у меня её нет. (=

mord0d ★★★★★
()
Ответ на: комментарий от urxvt

Нас таких много наберётся, судя по всему. @Beewek с нами. (=

mord0d ★★★★★
()
Ответ на: комментарий от mx__

А для админов там нет книги?

я полистал (читать не собираюсь, поскольку личное мнение такое, что PostgreSQL - это ни что иное, как картельный сговор в мире OpenSource), в целом материал на уровне где-то между OCP и OCM (разработчикам PostgresPro тоже бы не помешало ознакомиться, чтобы их прилюдно мордой в незнание продукта не тыкали), если под словом «админ» подразумевается не DBA, а кто-то иной (кто, к примеру, БД на ZFS переводит, гыгыгы), то для таких админов никакая книжка не нужна - достаточно рекомендации в духе «нечего туда лезть вообще»

borisych ★★★★★
()
Ответ на: комментарий от borisych

О круто, выпендриться я тоже могу ;)

Для адмнов я имел ввиду типа так :

  • У нас 1с база будет на 150 юзеров и рама на серваке 128Г

а ему в ответ тогда лепи так :

maintenance_work_mem = 2GB	
max_stack_depth = 3MB	
wal_buffers = 16MB
...

Ну и т.д.

mx__ ★★★★★
()

А эта бд замена оракулу. Если да то нужно будет ее изучать? Где скачать или купить в электронном виде.

TheNewDragon
()
Ответ на: комментарий от theNamelessOne

Я в курсе про этот сайт, и раньше у меня он даже открывался.

mx__ ★★★★★
()
Ответ на: комментарий от mx__

У нас 1с база будет на 150 юзеров и рама на серваке 128Г

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

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

платить за 1С и вместо того, чтобы поинтересоваться мнением вендора, выискивать какие-то рецепты на просторах интернета - это дикость.

borisych ★★★★★
()

Спасибо тебе добрый человек. Там выше уровнем по ссылке столько хороших книг: от уровня первокурсника до уровня тимлида-архитектора.

lbvf50txt
()
Ответ на: комментарий от borisych

Сразу видно опыт богатого общения с вендорами 1C :))))

выискивать какие-то рецепты на просторах интернета - это дикость.

И дикость это думать и верить что вендоры из 1С что то понимают в пг а тем более под линукс ;)

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 2)
Ответ на: комментарий от papin-aziat

Современных?

Столько нафлудить в таком нежном возрасте…

mrjaggers
()
Ответ на: комментарий от mx__

Сразу видно опыт богатого общения с вендорами 1C :))))

Зато у меня есть богатый опыт общения с PostgreSQL-цыганями

И дикость это думать и верить что вендоры из 1С что то понимают в пг а тем более под линукс ;)

Смотрите, вот рекомендации по настройке БД от 1С: https://its.1c.ru/db/metod8dev#content:5866:hdoc, в целом они вменяемы за исключеним следующих пунктов:

  • max_connections и max_locks_per_transaction какие-то черезчур здоровые, видимо связано с общей архитектурой приложения, PostgreSQL точно не вытянет 2000 активных соединений, да и даже в 500 верится слабо, про PgBouncer упоминаний нет и понятно почему (подсказка: он не работоспособен, от yandex есть OpenSource разрабоки правда: https://github.com/yandex/odyssey)
  • work_mem = RAM/32..64 или 32MB..128MB - вот видно, что такой сайзинг в 2000 соединений не влезает никак, видимо опять же расчет на то, что активных соединений не так уж и много (у меня есть предчувствие, что чтобы это правильно сайзить, нужно temp на ramdisk выносить, но руки не дошли проверить гипотезу)
  • shared_buffers = RAM/4 - это стандартная рекомендация от PostgreSQL, но это тоже «вендор», видимо написали так, чтобы ссаными тряпками не закидали (есть подозрение что в реальности нужно 1/2 или даже 3/4 ставить, но нужно проверять)
  • synchronous_commit = off - за отказ от durability нужно сразу бить в лицо

А вот видосик от цыган: https://pgconf.ru/rmedia/2020/%D0%90%D0%BD%D1%82%D0%BE%D0%BD%20%D0%94%D0%BE%D1%80%D0%BE%D1%88%D0%BA%D0%B5%D0%B2%D0%B8%D1%87%20RU.mp4 (https://pgconf.ru/en/talk/1588650) - 3 часа откровенного бреда чуть ли не по каждому пункту.

Со стороны уних админа ручек, которы можно крутить крайне мало (ну вот такая вот БД, которая работает плохо везде), вот за чем нужно проследить:

  • файловая система не должна быть «экзотической» - старое доброе семейство ext здесь наше все
  • проследить, чтобы huge pages были настроены в операционной системе (если память считается сотнями гигабайт, то точно нужно) - transparent huge pages работают так себе, в конфиге постргреса выставить huge_pages=on - идея в том, чтобы БД не запускалась вообще если не удалось захватить страницы
  • проследить, чтобы допустимый размер очередей на дисках соответствовал реальности - гипервизорам свойственно значительно завышать реальные цифры, в итоге БД уходит в кому раньше положенного
  • открутить read ahead в сторону, отличную от рекомендаций из интернета (ну вот не должно быть такого, что чтобы прочесть блок размером 8K с диска нужно было был читать 4M)
borisych ★★★★★
()
Последнее исправление: borisych (всего исправлений: 1)
Ответ на: комментарий от borisych

max_connections - 1C держит по коннекту на каждого пользователя. Так что если много пользователей (или база большая или баз много) - приходится задирать подключения. В целом обычно они всё же в основном спят.

work_mem - по опыту низковато. Для типичных баз «бухгалтерия одного ларька» не потребуется, но если что-то покрупнее - начнёт ограничивать.

synchronous_commit = off - всё-таки по производительности бьёт ну очень заметно, на нормальном железе допустимый размен.

Pasha1st
()
Последнее исправление: Pasha1st (всего исправлений: 1)
Ответ на: комментарий от borisych

да, еще забыл кое-что: нужно overcommint настраивать с учетом huge pages, вот здесь в скользь упомянуто: https://www.postgresql.org/docs/current/kernel-resources.html, PostgreSQL выделением памяти управляет так себе, поэтому улетать она может и в процедурах и при построении планов запросов, а если случится так, что базу прибьет OOM Killer, то при запуске начнется crash recovery и восстанавливаться она будет с последнего чекпойнта что не быстро на больших БД, да и не факт что восстановится.

borisych ★★★★★
()

хорошо, но я на mariadb сижу. падает и всю память не использует. приходится путем проб и ошибок тюнинговать.

jura12
()
Ответ на: комментарий от mx__

я ни как не могу понять связь между Подземелья-и-Драконы и обычными животными.

А ее нет, там дальше

Sometimes when designing, things come together effortlessly—everything falls into place as if it were inevitable. It just flows. As I looked for images for the book covers, I came across some odd-looking animal engravings from the 19th century. They seemed to be a good match for all those strange-sounding UNIX terms, and were esoteric enough that I figured they’d probably appeal to programmers.

chkalov
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.