Я обновил наш сервер gentoo, заблудился в сообщениях и, короче говоря, я удалил свой postgresql 9.1 ДО того, как я запустил pg_upgrade до 9.2 .. Затем я обнаружил, что pg_upgrade требует, чтобы двоичный файл предыдущей версии все еще был там!
Как я могу переустановить postgresql 9.1 без удаления 9.2?
Я знаю, что могу указать версию с /etc/portage/package.mask
например.
>dev-db/postgresql-server-9.1.9
<dev-db/postgresql-server-9.1.9
но боюсь, что сделаю так заменить установленный postgresql и в итоге оказался более запутанным, чем раньше.
В качестве справки, основанной на ответе Адриана, я бесстрашно сделал
emerge /dev-db/postgresql-server:9.1
обратите внимание, что я использовал :9.1
и нет :9.1.9
(последняя версия), что привело к
there are no ebuilds to satisfy "dev-db/postgresql-server:9.1.9"
и сначала запутал меня.
Теперь они счастливо живут вместе:
$ equery l postgresql-server
* Searching for postgresql-server ...
[IP-] [ ] dev-db/postgresql-server-9.1.9:9.1
[IP-] [ ] dev-db/postgresql-server-9.2.4:9.2
dev-db/postgresql-server
является СЛОТ-ed на основной и дополнительной версии, поэтому переустановка 9.1
не должен принудительно удалять 9.2
(теоретически зависимости двух SLOT
однако доступные версии пакета могут конфликтовать и могут помешать вам это сделать):
$ eix -c postgresql-base --or postgresql-server
[I] dev-db/postgresql-base (9.1.8(9.1)@04/13/2013 9.2.3-r1(9.2)@04/13/2013): PostgreSQL libraries and clients
[I] dev-db/postgresql-server (9.1.8-r1(9.1)@04/13/2013 9.2.3-r1(9.2)@04/13/2013): PostgreSQL server
Found 2 matches.
Как видите, обе версии устанавливаются одновременно.
Кстати, чтобы помочь с пакетами без слотов, вы можете использовать quickpkg для упаковки текущей установленной версии. Примерный рабочий процесс:
portage
s -k/-K
переключатели)quickpkg
есть переключатель для включения файлов конфигурации пакета (--include-config
), вы, вероятно, тоже захотите использовать это (см. man quickpkg
).
Перед выполнением большая куча обновлений (тм) Вы всегда можете quickpkg
наиболее важные пакеты, которые, по вашему мнению, могут вызвать головную боль позже по какой-либо причине (например, MySQL, PostgreSQL, Apache, ...), то вы можете быстро вернуться к более ранней версии, если это необходимо.
Это делает не означает, что вам не нужно создавать резервные копии ваших данных (и файлов конфигурации, даже если они включены в ваш двоичный пакет)!