Vadim
21.09.2017
14:41:16
в личке
Alexey
21.09.2017
15:07:46
всем привет
Gleb
21.09.2017
15:55:02
Maxim
21.09.2017
15:55:20
Да, Вадим, рассказывай)
Google
Vadim
21.09.2017
15:57:35
Ошибка достаточно простая. У Александра используется pglogical. Кто то выполнил ddl на мастере. Репликация естественно остановилась и завис логический слот. По этой причине мастер не удалял старые wa-логи
Alexey
21.09.2017
16:06:58
в чём архитектурная проблема репликации ddl в pglogical? нигде не смог найти ответ
то есть, я понимаю, что logical decoding не поддерживает. но в чём причина?
Vadim
21.09.2017
16:09:28
Архитектурно мне кажется ограничений нет. Decoding используется и в pglogical и в bdr. Я думаю это сознательное ограничение со стороны 2ndQ.
Alexey
21.09.2017
16:10:21
хм, но им-то это зачем? чтобы платную версию покупали?
и ограничение скорее в logical decoding, чем в pglogical. LD появилось в 9.4, на носу 10.0, а воз и ныне там. подозреваю, что там с архитектурной стороны кто-то что-то не додумал
Adikhanov
21.09.2017
16:11:39
Доброго времени суток! Нужна помощь в установке расширения pldbgapi на платформу win10.
Vadim
21.09.2017
16:17:09
Mikhail
21.09.2017
16:23:59
Pglogical архитектурно слаба
Так как буфер в валах
И далее просто несколько печальных исходов
Ну и в целом репликация была притянута поверх логикал декодинга -- который как бы не предполагал по дефолту репликации
А был более механизмом дебага
Google
Mikhail
21.09.2017
16:26:46
Короче вызываю огонь на себя
Велкам
И о боже, Копытов в чате
Vadim
21.09.2017
16:29:12
pglogical is based on technology developed for BDR and shares some code with BDR. It's designed to be more flexible than BDR and to apply better to single-master unidirectional replication, data-gather/merge, non-mesh multimaster topologies, etc.
То есть ничего особо не мешало прикрутить ddl так же как в bdr.
Mikhail
21.09.2017
16:29:24
Но тут похоже мы будем во много с ним на одной стороне
Но в мускуле ещё хуже ))
@alexey_kopytov
Stas
21.09.2017
16:31:10
Gleb
21.09.2017
16:32:57
Vadim
21.09.2017
16:34:30
А lock-и не полезут при репликации DDL? Я думаю придется делать целый механизм который будет за этим следить.
В BDR у них там целый Global flush-to-consistent-state механизм
хм, но им-то это зачем? чтобы платную версию покупали?
1) Logical decoding doesn't decode catalog changes directly.
То есть это вполне можно сделать.
2) .. but its main purpose is to provide a cleaner, simpler base that doesn't require a patched PostgreSQL, with a pluggable and extensible design.
Похоже что основная цель pglogical именно в этом. И отсюда растут ноги.
Stas
21.09.2017
16:51:31
Mikhail
21.09.2017
16:52:44
Не надо это ещё глубже прятать в оиды и опять в "физику"
Мой концепт -- делать ручки для фреймворков : это все логические вещи , суть sql должен быть для организации репликаций
Кстати : а стандарт что то про это говорит ?!
Stas
21.09.2017
16:56:46
Alexey
21.09.2017
16:59:13
Я сейчас с телефона и много кнопок давить лень, но в мускуле да, statement based ddl, а как ещё
Не понял проблемы с функцией и таймстампом
Google
Subb98
21.09.2017
17:03:18
Добрый вечер. Я заменил файл БД (
/usr/local/var/postgres/
), не выключив предварительно сервер postgres. Как следствие, у меня он теперь не включается (точнее, падает с ошибкой). Уже гуглил и перепробовал множество решений, pg_xlog (head) чистил, postmaster.pid удалял, всё бестолку. Кто уже сталкивался с этим, подскажите, как мне сдвинуть "слона" с мёртвой точки?
Vadim
21.09.2017
17:03:34
Возможно это потому что в мускуле нельзя сделать физическую репликацию?) Логическое декодирование вполне себя оправдывает для решения тех задач, под которые создавался pglogical. А именно для миграции между версиями и для переноса данных между oltp и olap.
Igor
21.09.2017
17:03:34
@Subb98 а ошибка-то какая конкретно? увеличь verbosity логов, посмотри логи.
Subb98
21.09.2017
17:04:14
Там разные могут быть
Igor
21.09.2017
17:04:23
информативненько
Subb98
21.09.2017
17:04:44
Ну, типичная ошибка, когда БД не взлетает
Сейчас попробую нагуглить.
И скину похожие.
Alexey
21.09.2017
17:05:36
Igor
21.09.2017
17:06:08
вообще, /var/postgres/ - это целая директория, что именно ты в ней поменял и на что?)
Alexey
21.09.2017
17:06:38
Просто то, как в постгресе сейчас - хороший такой способ выстрелить себе в ногу, что мы и наблюдаем
Subb98
21.09.2017
17:06:52
Я уже так делал.
В мускуле такого нет.
Пару часов убил на то, чтобы поднять потом БД, хрен там.
Похожий лог:
LOG: database system was not properly shut down; automatic recovery in progress
LOG: redo starts at 8A/8F00833C
PANIC: block 1100 unfound
LOG: startup process (PID 31612) was terminated by signal 6
LOG: aborting startup due to startup process failure
LOG: logger shutting down
Stas
21.09.2017
17:09:36
Subb98
21.09.2017
17:09:50
LOG: startup process (PID 31612) was terminated by signal 6 - такая строчка точно есть.
Google
Subb98
21.09.2017
17:09:59
Только pid другой
И это при том, что .pid я вручную удаляю.
Alexey
21.09.2017
17:10:53
Subb98
21.09.2017
17:15:54
https://dba.stackexchange.com/questions/44911/issues-starting-postgres-server - наиболее похожий issue на мой. Как я понял, в том случае была удалена и инициализирована новая БД.
Stas
21.09.2017
17:16:52
Arthur
21.09.2017
17:17:41
Alexey
21.09.2017
17:18:05
Subb98
21.09.2017
17:18:56
Stas
21.09.2017
17:19:31
Другой пример — работа со временными таблицами:
create temp table a(...);
create table b as a;
данных временной таблицы на другом сервере не будет, поэтому если реплецировать create table as, то ей неоткуда будет брать данные
ну и таких мелочей много
Maksim
21.09.2017
17:20:11
Stas
21.09.2017
17:21:02
правильнее всего, наверное, декодить каталог, собирать его во что-то промежуточное, и написать применялку этого промежуточного. Но это много работы.
Subb98
21.09.2017
17:21:31
Mikhail
21.09.2017
17:21:32
Maksim
21.09.2017
17:22:28
Subb98
21.09.2017
17:23:26
Ну, вытаскивал бэкап не я сам. У меня лично доступа к проду нет. Поэтому я и заливал файл БД вручную, а не командой.
Maksim
21.09.2017
17:24:02
какой файл?
Subb98
21.09.2017
17:24:48
Вернее, распаковывал архив в /usr/local/var/postgres
https://www.postgresql.org/docs/9.6/static/storage-file-layout.html - хз даже, как это ещё назвать
Крч, всю структуру БД
Google
Айтуар
21.09.2017
17:28:16
Igor
21.09.2017
17:28:30
капец конечно
Subb98
21.09.2017
17:29:22
Я забыл остановить свой локальный сервер, в этом и проблема.
И начал заменять файлы.
Maksim
21.09.2017
17:30:01
Айтуар
21.09.2017
17:31:59
Alex
21.09.2017
17:33:09
PostgreSQL 10 RC 1 Released! написано на саите,а rpm не нашел ,вы уже потестили ?
Subb98
21.09.2017
17:33:44
Завтрп попробую пересоздать БД, это должно сработать.
Igor
21.09.2017
17:34:44
я бы попросил сделать нормальный бекап с продакшена (pgdump там, copy, я не знаю) и накатил бы его уже на свежесозданную /var/postgres/
Айтуар
21.09.2017
17:35:06
Subb98
21.09.2017
17:35:13
И я раньше накатывал точно также.
Тупо не вырубил постгрес на этот раз.
Dmitry
21.09.2017
17:35:59
Igor
21.09.2017
17:36:02
ну тогда ведь, по идее, должно работать
1) остановить постгрю
2) грохнуть все содержимое /var/postgres/
3) распаковать туда бекап
4) запустить постгрю
Subb98
21.09.2017
17:36:38
Я хз, по какой причине.