powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Исходники Postgres, С чего начать.
9 сообщений из 9, страница 1 из 1
Исходники Postgres, С чего начать.
    #40017771
Visermoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Большой интерес вызывает внутреннее устройство Postgres: хочется эффективно настраивать и использовать, понимать почему произошло то или иное. Например, как используется shared buffer, логику работы autovacuum (посмотрел доклад с HighLoad(Алексей Лесовский) и понял, что хотелось бы посмотреть под отладкой как это работает), ну и конечно написание расширений и многое другое.

В интернете много поверхностных статей с рекомендациями по настройке Postgres, но не так много мне удалось найти по внутреннему устройству и с чего начать участие в разработке. Читать сходу pgsql-hackers очень тяжело и хотелось бы для начала просто собрать из исходников,запуститься, посмотреть какие-то важные точки остановки, алгоритмы.

Подскажите пожалуйста с чего можно начать интересующемуся этой областью (с учетом того, что есть опыт программирования, правда не на С, то это проблем не вызовет, с использованием Linux на уровне уверенного пользователя и немного администрирования тоже)?

Мне интересно, как работают сейчас разработчики: под какой операционной системой, как отлаживаются, грубо говоря в какой IDE и каким компилятором пользуются. Есть ли жизнь под Windows при этом или это возможно только под Linux?

Что стоит подтянуть по внутреннему устройству Linux и , возможно , какие-то глубокие темы по C?
С каких функций из исходников стоит начать в первую очередь?
...
Рейтинг: 0 / 0
Исходники Postgres, С чего начать.
    #40018122
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для углубления в исходники базы достаточно базиса в виде 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.
./configure --prefix=/home/melkij/tmp/pgdev/inst --enable-cassert --enable-debug CFLAGS="-ggdb -Og -g3 -fno-omit-frame-pointer" --enable-tap-tests
make -sj6 world && make install-world -s && make -Otarget -j6 -s check-world && echo success || echo fail
...
Рейтинг: 0 / 0
Исходники Postgres, С чего начать.
    #40018138
Фотография OoCc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Visermoz,

Для начала я бы просмотрел все видеокурсы отсюда https://postgrespro.ru/education/courses
...
Рейтинг: 0 / 0
Исходники Postgres, С чего начать.
    #40019805
igor.n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Исходники Postgres, С чего начать.
    #40021235
Visermoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо всем за советы и ссылки. Буду разбираться
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Исходники Postgres, С чего начать.
    #40129984
lorner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkij,

Недавно вышла книга Рогова - PostgreSQL изнутри, насколько она лучше\хуже http://www.interdb.jp/pg/? Можете подсказать в контексте данного вопроса от ТС

"и вот, пару лет спустя это больше делать не надо" - Вы сделали что-бы "не надо" ?)
...
Рейтинг: 0 / 0
Исходники Postgres, С чего начать.
    #40129985
lorner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Visermoz,

если не секрет, как успехи? Можете дополнить свой же вопрос чем то полезным)? Сам пытаюсь разобраться во всем вот этом
...
Рейтинг: 0 / 0
Исходники Postgres, С чего начать.
    #40129986
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lorner
"и вот, пару лет спустя это больше делать не надо" - Вы сделали что-бы "не надо" ?)

Да, начиная с pg13 primary_conninfo может меняться по sighup. Это именно моя группа патчей.

Про книгу не знаю
...
Рейтинг: 0 / 0
Исходники Postgres, С чего начать.
    #40130449
Artemiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Исходники Postgres, С чего начать.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]