From f99f0dd9e0afb269695269054d3098cef34d3013 Mon Sep 17 00:00:00 2001 From: Rince Date: Fri, 28 Nov 2025 06:56:40 +0300 Subject: [PATCH] =?utf8?q?=D0=B1=D0=BE=D0=BB=D0=B5=D0=B5=20=D1=82=D1=89?= =?utf8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=BA=D0=BE?= =?utf8?q?=D1=80=D1=80=D0=B5=D0=BA=D1=82=D1=83=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../README.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/README.md b/slides/2025 - Becoming PosgtreSQL Core Developer/README.md index de4ad39..a4f7bd2 100644 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/README.md +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/README.md @@ -1,21 +1,21 @@ # Курс лекций "Как стать разработчиком PostgreSQL" -Данный курс предназначен для начинающих разработчиков, еще не погрузившихся в мир системного программирования в общем и не знакомых с внутреннем устройством PostgreSQL в частности. -В рамках курса учащийся, двигаясь от простого к сложному, познакомится с кодом СУБД PostgreSQL, с основными структурами и абстракциями, используемыми в коде, а так же с приемами программирования, применяющимися при разработке ядра PostgreSQL. +Данный курс предназначен для начинающих разработчиков, еще не погрузившихся в мир системного программирования в общем и не знакомых с внутренним устройством PostgreSQL в частности. +В рамках курса учащийся, двигаясь от простого к сложному, познакомится с кодом СУБД PostgreSQL, с основными структурами и абстракциями, используемыми в коде, а также с приемами программирования, применяющимися при разработке ядра PostgreSQL. Курс предполагает решение большого количества простых учебных задач, затрагивающих разные аспекты функционирования ядра PostgreSQL, с подробным изучением исходного кода ядра, реализующего изучаемую функциональность. В идеале после завершения курса учащийся должен свободно ориентироваться в большей части кода ядра PostgreSQL или уметь самостоятельно разобраться с теми частями, которые затронуты не были. -Данный курс не предполагает углубленного знакомства с техникой и алгоритмикой хранения поиска и обработки данных, но предполагает подробное знакомство с кодовой инфраструктурой, в рамках которой эти алгоритмы практически реализованы. +Данный курс не предполагает углубленного знакомства с техникой и алгоритмикой хранения, поиска и обработки данных, но предполагает подробное знакомство с кодовой инфраструктурой, в рамках которой эти алгоритмы практически реализованы. Курс находится на ранних этапах разработки. На данный момент готовы лекции: -- Создание первого расширения PostgreSQL -- Базовые структуры PostgreSQL: Регистровые типы данных +- создание первого расширения PostgreSQL; +- базовые структуры PostgreSQL: регистровые типы данных. В процессе создания находится лекция: -- Базовые структуры PostgreSQL: Типы данных переменной длины +- базовые структуры PostgreSQL: типы данных переменной длины. #№ Подготовка к мастер-классу @@ -24,16 +24,16 @@ Перед мастер-классом пользователю следует: -1. Убедиться, что он имеет доступ к режиму администратора в системе (команда `sudo su` должна вызывать консоль в режиме адимнистратора с диезом (`#`) в приглашении). +1. Убедиться, что он имеет доступ к режиму администратора в системе (команда `sudo su` должна вызывать консоль в режиме администратора с диезом (`#`) в приглашении). -2. Убедиться, что в системе утстановлен PostgreSQL (команда `sudo -u postgres psql` должна вызывать командно-строчный интерфейс к PostgreSQL). +2. Убедиться, что в системе установлен PostgreSQL (команда `sudo -u postgres psql` должна вызывать командно-строчный интерфейс к PostgreSQL). -3. Убедиться, что в системе развернут только один кластер PostgreSQL (команда `sudo pg_lsclusters` должна выводить только одну зеленую строчку и ни одной красной). В случае, если кластеров оказалось более одного (а такое случается, если система пережила несколько мажорных обновлений), самостоятельно свести количество кластеров к одному. Будте бдительны, не потеряйте свои данные, они могут оказаться в одном из старых кластеров. +3. Убедиться, что в системе развернут только один кластер PostgreSQL (команда `sudo pg_lsclusters` должна выводить только одну зеленую строчку и ни одной красной). В случае, если кластеров оказалось более одного (а такое случается, если система пережила несколько мажорных обновлений), самостоятельно свести количество кластеров к одному. Будьте бдительны, не потеряйте свои данные, они могут оказаться в одном из старых кластеров. 4. Убедиться, что в системе установлена только одна версия PostgreSQL (команда `apt list --installed "postgresql-*"` должна выдавать список только с одним числовым суффиксом, например, `-17` или "минус любое число", но какое-то одно). В случае, если версий постгреса оказалось более одной (а такое может случиться, если система пережила несколько обновлений), следует удалить более старые версии. -5. Если были обнаружены и устранены проблемы из пп. 2 и 3, убедитесь, что постгрес все еще работает: перезагрузите систему и провторите п. 2. +5. Если были обнаружены и устранены проблемы из пп. 2 и 3, убедитесь, что постгрес все еще работает: перезагрузите систему и повторите п. 2. -6. Прописать в системе репозитории с исходными кодами пакетов.`/etc/apt/sources.list` или в `/etc/apt/sources.list.d` (зависит от версии) (все строки начинающиеся с `deb ` продублировать и заменить в дубликатах `deb` на `deb-src`), обновить список пакетов командой `sudo apt-get update`. Убедиться, что можно получить исходный код для пакета `postgresql`: `apt-get source postgresql` +6. Прописать в системе репозитории с исходными кодами пакетов.`/etc/apt/sources.list` или в `/etc/apt/sources.list.d` (зависит от версии) (все строки, начинающиеся с `deb `, продублировать и заменить в дубликатах `deb` на `deb-src`), обновить список пакетов командой `sudo apt-get update`. Убедиться, что можно получить исходный код для пакета `postgresql`: `apt-get source postgresql` -7. Убедиться, что он умеет редактировать текстовые файлы, используя один из консольных текстовых редакторов: `nano`, `mcedit`, `vim`, `emacs` или любой другой на ваше усмотрение. +7. Убедиться, что он умеет редактировать текстовые файлы, используя один из консольных текстовых редакторов: `nano`, `mcedit`, `vim`, `emacs` или любой другой на свое усмотрение. -- 2.47.3