Пишем автомигратор на Go: как узнать схему PostgreSQL

Когда говорят «генератор миграций», обычно в голове сразу появляется что-то вроде:
Генератор миграций начинается не с CREATE TABLE, а с вопроса: как представить текущую схему базы в коде?
В первой статье серии разбираем PostgreSQL-first introspector: читаем таблицы, колонки, constraints и индексы, где хватает information_schema, а где приходится идти в pg_catalog, и собираем детерминированный snapshot схемы. Миграции пока не генерируем — строим фундамент, из которого потом можно будет сделать diff и получить DDL.
Статья будет полезна тем, кто пишет инструменты вокруг баз данных, интересуется PostgreSQL internals или хочет понять, почему автомигратор — это не просто набор ALTER TABLE.
















