удаляются или может перемещаются в какую нибудь old папку?
Нет. Обновляются бинарники.
Да как сделаете. Или как сделали за вас создатели дистрибутива.
произвел обновление и из списка баз пропала моя база
Из какого списка? Pg_database?
Например, постгрес для дебиана и для винды -- просто поставится рядом. Виндовому постгресу при установке, кажэтся, можно указать папку с базой -- и если указать предыдущую, то ничего с ней не сделается и новый сервер просто не запустится. Например, в докере если обновить офицыальный образ и подсунуть ему старый volume -- то постгрес тожэ не запустится. Например, правильным методом сейчас считается запуск pg_upgrade (запуск его требует внимательно ознакомиться с документацыей). В случае debian и подобных -- pg_upgradecluster (который относительно простая обёртка для pg_upgrade, к тому жэ прописывающая новую базу в список кластеров debian). Например, в докере пытаться сделать pg_upgrade -- это очень нетривиальная задача, большынство или выгружают базы через pg_dumpall или обновляются через синхронизацыю логических реплик.
этой команды даже нет в убунту. я смотрю список через psql \l
А каталог кластера прежний?
в этом и вся загвоздка у меня нет каталога с постгре12 где лежало бы все
тут не знаю, я глянул при обновлении
Какие бд были до обновлентя и после?
Убунта, говорите? Там постгрес дебиановский. pg_lsclusters для начала.
ток один кластер. старого нет 13 main 5432 online postgres /var/lib/postgresql/13/main /var/log/postgresql/postgresql-13-main.log
до были postgres template0 template1 zabbix. а после забикс не вернулся
Скорее всего -- старый кластер стартовал всякими левыми методами. После upgrade либо затёрся переписанный скрипт/unit запуска либо они просто подрались за порт 5432 и новый выиграл. Поищите старую базу. В /var/lib/postgresql/13/main она не могла лежать примерно никак, так что, скорее всего, ещё где-то жывая вполне. Ещё можно порт нового сменить с 5432 на 5433 -- если верно предположэние, что подрались из-за порта -- то после ребута оба поднимутся.
у меня в /etc/postgresql/ остался ток 13 каталог. но порт махнул на всякий случай. щас првоерю при ребуте
И да, когда найдётся -- 1) Включите её в список кластеров. pg_createcluster, да, он умеет подключать ужэ существующие базы. 2) Проверьте работу. 3) Выполните pg_upgradecluster
>остался ток 13 каталог. Опять жэ, дажэ удаление сервера обычно не удаляет этот каталог. Только --purge по-моему, и только файлы, про которые пакетный менеджэр знает. Я бы предположыл, что он был какой-нибудь самосборный вообще и лежал в /usr/local/etc/postgresql где-нибудь. Или в /var/postgres не знаю.
В большынстве случаев locate -- быстрее будет. Дажэ если он не установлен, и надо сделать apt-get install slocate и updatedb.
Если он самочборный то есть ненулевой шанс вообще все угробить просто установив общую версию из пакета)
второго сервера нет через нет стат смотрю используемые порты(
Имхо наилучшее решение это остановить и отложить новый сервер, отыскать старый, понять общий он или самочборный. Если второе, определить параметры сборки, скачать новые сырцы, собрать с параметрами старого и уже тогда обновлять.
Ну, разве что в смысле -- придётся подбирать потом параметры сборки, чтобы собрать постгрес, который сможэт прочитать эту базу.
Это я и предполагал. Вряд ли у вас старый сервер был не на 5432, а порт 5432 занят ужэ новым сервером.
Обсуждают сегодня