Назад | Перейти на главную страницу

пытаюсь установить postgresql-contrib для pg 8.4 в Ubuntu 12.10

В прошлом году мне когда-то пришлось совершить странное колдовство, чтобы установить postgresql 8.4 на относительно современную ОС Ubuntu. Мне пришлось использовать 8.4, потому что рабочая площадка - 8.4, и нам нужно было обеспечить совместимость в нашей тестовой среде. (мы не контролируем производственную среду)

Теперь я пытаюсь сгенерировать uuid в базе данных, но для пакета contrib для Quantal требуется 9.1.

Кто-нибудь знает, как я могу это сделать, не обновляя сервер postgres?

~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.10
Release:        12.10
Codename:       quantal

PostgreSQL 8.4.11 на i686-pc-linux-gnu, скомпилированный GCC gcc-4.6.real (Ubuntu / Linaro 4.6.3-1ubuntu5) 4.6.3, 32-разрядный

Ubuntu 12.04 LTS (Precise) предоставляет пакеты для PostgreSQL 8.4. Не совсем все пакеты, но достаточно, чтобы включить contrib:

dbuser@tratti:~$ apt-cache search postgresql|sort|grep 8.4                    
postgresql-8.4 - object-relational SQL database, version 8.4 server
postgresql-client-8.4 - front-end programs for PostgreSQL 8.4
postgresql-contrib-8.4 - additional facilities for PostgreSQL
postgresql-doc-8.4 - documentation for the PostgreSQL database management system
postgresql-plperl-8.4 - PL/Perl procedural language for PostgreSQL 8.4
postgresql-plpython-8.4 - PL/Python procedural language for PostgreSQL 8.4
postgresql-pltcl-8.4 - PL/Tcl procedural language for PostgreSQL 8.4
postgresql-server-dev-8.4 - development files for PostgreSQL 8.4 server-side programming

Теперь, поскольку вы используете Ubuntu 12.10, который не имеет долгосрочной поддержки, он не содержит пакетов для PostgreSQL 8.4 (это именно то, что может показаться подходящим для долгосрочной поддержки).

Однако в 12.10 не было конфликтующих пакетов postgresql-8.4- *. Это означает, что вы можете вручную загрузить нужные пакеты PostgreSQL 8.4 и установить их с помощью dpkg -i. Вы можете найти нужные вам пакеты, включая contrib, из Страница списка пакетов Ubuntu Precise.

Возможно, вы также загрузите некоторые зависимости, поэтому вы можете попробовать (сначала сделайте это на какой-нибудь тестовой машине, как очень вероятно что-то сломать): а) просто закинуть в репозитории 12.04, б) запустить apt-get update, c) установите только те пакеты, которые вам нужны, d) затем удалите репозитории 12.04 и e) наконец запустите apt-get update снова, чтобы потерять любые остатки, которые могут быть.

Урок, который следует усвоить здесь, может заключаться в том, что никогда не используйте ничего, кроме долгосрочных выпусков Ubuntu, для чего-либо, что хотя бы отдаленно связано с вещами, называемыми «производством». Если бы вы в первую очередь использовали 12.04 LTS, вы бы полностью избавились от этой проблемы.