|
Исходники Postgres, С чего начать.
|
|||
---|---|---|---|
#18+
Здравствуйте. Большой интерес вызывает внутреннее устройство Postgres: хочется эффективно настраивать и использовать, понимать почему произошло то или иное. Например, как используется shared buffer, логику работы autovacuum (посмотрел доклад с HighLoad(Алексей Лесовский) и понял, что хотелось бы посмотреть под отладкой как это работает), ну и конечно написание расширений и многое другое. В интернете много поверхностных статей с рекомендациями по настройке Postgres, но не так много мне удалось найти по внутреннему устройству и с чего начать участие в разработке. Читать сходу pgsql-hackers очень тяжело и хотелось бы для начала просто собрать из исходников,запуститься, посмотреть какие-то важные точки остановки, алгоритмы. Подскажите пожалуйста с чего можно начать интересующемуся этой областью (с учетом того, что есть опыт программирования, правда не на С, то это проблем не вызовет, с использованием Linux на уровне уверенного пользователя и немного администрирования тоже)? Мне интересно, как работают сейчас разработчики: под какой операционной системой, как отлаживаются, грубо говоря в какой IDE и каким компилятором пользуются. Есть ли жизнь под Windows при этом или это возможно только под Linux? Что стоит подтянуть по внутреннему устройству Linux и , возможно , какие-то глубокие темы по C? С каких функций из исходников стоит начать в первую очередь? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 05:22 |
|
Исходники Postgres, С чего начать.
|
|||
---|---|---|---|
#18+
Для углубления в исходники базы достаточно базиса в виде K&R C. Начинать читать отсюда: https://wiki.postgresql.org/wiki/Development_information http://www.interdb.jp/pg/ PostgreSQL Server Programming (Hannu Krosing, Jim Mlodgenski) - оно о написании хранимок в первую очередь, но и очень неплохое описание version 1 calling convention function. Функции из штатного функционала использует ровно тот же самый API. Ну и опять дока по написанию C функций https://www.postgresql.org/docs/current/xfunc-c.html Высокие абстракции в README вынесены. Visermoz Мне интересно, как работают сейчас разработчики: под какой операционной системой, как отлаживаются, грубо говоря в какой IDE и каким компилятором пользуются Без разницы. Если вдруг найдёте какую-то экзотику где не будет собираться. или компилятор даст варнинги на актуальных ветках или что-то не будет работать после сборки из-за этого компилятора или ещё чего экзотического - напишите в hackers, этим уже заинтересуются и это будет полезно проекту. (только перепроверьте, что у вас артефактов с прошлых сборок не осталось, git clean -fxd ) Только предостерегу прогонять какие-то статические анализаторы и писать письмо без проверки что это действительно баг базы, а не false positive анализатора. Visermoz Есть ли жизнь под Windows при этом Какая-то есть Visermoz Что стоит подтянуть по внутреннему устройству Linux и , возможно , какие-то глубокие темы по C? Не требуется Visermoz С каких функций из исходников стоит начать в первую очередь? С чего-то интересного именно вам. Мне вот было интересно почему для изменения primary_conninfo надо ребутать базу - и вот, пару лет спустя это больше делать не надо. Если всё равно куда - могу порекомендовать contrib'ы посмотреть, dblink или pg_stat_statements. Они небольшие по объёму кода. По сборке - я использую Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 21:23 |
|
Исходники Postgres, С чего начать.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 22:31 |
|
Исходники Postgres, С чего начать.
|
|||
---|---|---|---|
#18+
тоже стояла задача разобраться как это работает. помимо выше сыллок, может быть будет полезно: https://www.opennet.ru/base/dev/pgsql_c_func.txt.html http://hlinnaka.iki.fi/presentations/PGConf.eu-Serverside-Programming-in-C.pdf http://sd.blackball.lv/library/PostgreSQL_Server_Programming_Second_Edition_(2015).pdf https://joeconway.com/presentations/tut_oscon_2004.pdf ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 09:08 |
|
Исходники Postgres, С чего начать.
|
|||
---|---|---|---|
#18+
Большое спасибо всем за советы и ссылки. Буду разбираться ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 07:30 |
|
Исходники Postgres, С чего начать.
|
|||
---|---|---|---|
#18+
Melkij, Недавно вышла книга Рогова - PostgreSQL изнутри, насколько она лучше\хуже http://www.interdb.jp/pg/? Можете подсказать в контексте данного вопроса от ТС "и вот, пару лет спустя это больше делать не надо" - Вы сделали что-бы "не надо" ?) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2022, 16:58 |
|
Исходники Postgres, С чего начать.
|
|||
---|---|---|---|
#18+
Visermoz, если не секрет, как успехи? Можете дополнить свой же вопрос чем то полезным)? Сам пытаюсь разобраться во всем вот этом ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2022, 17:00 |
|
Исходники Postgres, С чего начать.
|
|||
---|---|---|---|
#18+
lorner "и вот, пару лет спустя это больше делать не надо" - Вы сделали что-бы "не надо" ?) Да, начиная с pg13 primary_conninfo может меняться по sighup. Это именно моя группа патчей. Про книгу не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2022, 17:09 |
|
|
start [/forum/search_topic.php?author=sadux&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 4993ms |
total: | 5119ms |
0 / 0 |