Как установить PostgreSQL 9.6 и plperl на Amazon Linux 2?

В официальных репозиториях устанавливаются пакеты RHEL6, которые работают на Amazon Linux 2 (клон RHEL7). Вы можете попасть в ад зависимостей, если позже захотите установить расширение plperl, так как для этого требуется Perl 5.10, который доступен только для RHEL6:

    ---> Package postgresql96-plperl.x86_64 0:9.6.11-1PGDG.rhel6 will be installed
--> Processing Dependency: perl(:MODULE_COMPAT_5.10.1) for package: postgresql96-plperl-9.6.11-1PGDG.rhel6.x86_64
--> Finished Dependency Resolution
Error: Package: postgresql96-plperl-9.6.11-1PGDG.rhel6.x86_64 (pgdg96)
           Requires: perl(:MODULE_COMPAT_5.10.1)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

2 ответа

Я бы не рекомендовал использовать PGDG с AL2. Не говоря уже о том, что он теперь отказывается устанавливать на AL2, потому что не может найти /etc/redhat-release, Вы все еще можете настроить файл репо для yum, но опять же, я не рекомендую его.

AL2 поставляется с amazon-linux-extras инструмент. https://aws.amazon.com/amazon-linux-2/faqs/

PostgreSQL 9.6 и 10 включены, как и PL/Perl.

Возможно, вам придется проделать немного больше работы, чтобы настроить сервер, но у вас не должно быть проблем с зависимостями, так как эти пакеты предоставляются командой Amazon Linux.

Слегка измененная версия хранилища Amazon Linux YUM может использоваться для установки правильной (el7) версии postgresql-сервера и, следовательно, plperl:

[pgdg96]
name=PostgreSQL 9.6 - Amazon Linux 2 - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-96

[pgdg96-source]
name=PostgreSQL 9.6 - Amazon Linux 2 - $basearch - Source
failovermethod=priority
baseurl=https://download.postgresql.org/pub/repos/yum/srpms/9.6/redhat/rhel-7-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-96

[pgdg96-updates-testing]
name=PostgreSQL 9.6 - Amazon Linux 2 - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/testing/9.6/redhat/rhel-7-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-96

[pgdg96-source-updates-testing]
name=PostgreSQL 9.6 - Amazon Linux 2 - $basearch - Source
failovermethod=priority
baseurl=https://download.postgresql.org/pub/repos/yum/srpms/testing/9.6/redhat/rhel-7-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-96

Установленные пакеты:

$ rpm -qa | grep postgresql96
postgresql96-contrib-9.6.12-1PGDG.rhel7.x86_64
postgresql96-plperl-9.6.12-1PGDG.rhel7.x86_64
postgresql96-9.6.12-1PGDG.rhel7.x86_64
postgresql96-server-9.6.12-1PGDG.rhel7.x86_64
postgresql96-libs-9.6.12-1PGDG.rhel7.x86_64
Другие вопросы по тегам