Развертывание Postgres11 в Elastic Beanstalk - Требуется / etc / redhat-release - PullRequest
4 голосов
/ 22 апреля 2019

У меня чертовски много времени развертывается мое первое приложение в Elastic Beanstalk, и я действительно могу использовать некоторую помощь.Мне не удается установить Postgres11, хотя он официально поддерживается RDS.

ВЫПУСК
Если я запускаю eb deploy, я получаю сообщение о том, что pg_config исполняемый файл не найден.Требуется собрать psycopg2 из исходного кода.

/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'project_urls'
  warnings.warn(msg)
running egg_info
creating pip-egg-info/psycopg2.egg-info
writing pip-egg-info/psycopg2.egg-info/PKG-INFO
writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'

Error: pg_config executable not found.

pg_config is required to build psycopg2 from source.  Please add the directory
containing pg_config to the $PATH or specify the full executable path with the
option: ...

Полагаю, мне нужно будет добавить репо?Справедливо.Затем я пытаюсь добавить репо, как я нашел в других сообщениях в Интернете:

[ec2-user@ip-... etc]$ sudo yum -y install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
Loaded plugins: priorities, update-motd, upgrade-helper
pgdg-centos11-11-2.noarch.rpm                                          | 5.6 kB  00:00:00     
Examining /var/tmp/yum-root-cQJP_4/pgdg-centos11-11-2.noarch.rpm: pgdg-redhat-repo-42.0-4.noarch
Marking /var/tmp/yum-root-cQJP_4/pgdg-centos11-11-2.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package pgdg-redhat-repo.noarch 0:42.0-4 will be installed
--> Processing Dependency: /etc/redhat-release for package: pgdg-redhat-repo-42.0-4.noarch
--> Processing Dependency: /etc/redhat-release for package: pgdg-redhat-repo-42.0-4.noarch
--> Finished Dependency Resolution
Error: Package: pgdg-redhat-repo-42.0-4.noarch (/pgdg-centos11-11-2.noarch)
           Requires: /etc/redhat-release

Отсюда я застрял . Я пробовал символическую ссылку/etc/system-release -> /etc/redhat-release без удачи.Ни у кого, кажется, нет этой проблемы?У меня тоже, похоже, нет желанного amazon-linux-extras по какой-то причине?

Среда

Уровень среды: Веб-сервер
Платформа: Python 3.6, работающий на 64-битной версии Amazon Linux / 2.8.2


.ebextensions / packages.config

packages:
  yum:
    postgresql11-devel: []

needs.txt

Django==2.2
psycopg2==2.8.2
pytz==2019.1
sqlparse==0.3.0

[ec2-user@ip-... etc]$ cat /etc/os-release 
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"

[ec2-user@ip-... etc]$ cat /etc/system-release 
Amazon Linux AMI release 2018.03

Ответы [ 3 ]

4 голосов
/ 23 апреля 2019

У меня та же проблема с PostgreSQL 10 для проекта Django 2.1 на AWS Elastic Beanstalk.

Эта проблема была введена на прошлой неделе около 17 апреля 2019 года, чтобы удостовериться, что операционная система представляет собой актуальную версию Red Hat (а Amazon Linux нет). Я нашел некоторые детали в списке рассылки PostgreSQL:

"Поддержка Amazon Linux была удалена много лет назад. Я просто позаботился о том, чтобы наши файл репо отражает это. "
( BUG # 15768: удалены rpms и теперь требуется / etc / redhat-release )

Один постер в списке рассылки предложил следующее исправление:

«Мы временно уменьшили проблему с помощью , используя rpm и явно игнорируя зависимости репозиториев , но это похоже на исправление проблемы с реальными проблемами, а именно, что зависимость не должна существовать».

Лично я сделал то же самое, что и вы, Скотт, я просто вернулся к клиентским пакетам PostgreSQL 9.6, которые поставляет AWS напрямую. Пока Django и psycopg поддерживают этот релиз, это прекрасно работает.

Однако долгосрочное исправление заключается в том, чтобы AWS наконец предоставил платформы с Amazon Linux 2 ...

1 голос
/ 07 мая 2019

PostgreSQL 11 пока недоступен на Amazon, но PostgreSQL 10 есть.Я использую Amazon Linux Release 2 (Karoo), о котором сообщило cat /etc/system-release.Чтобы включить установку:

$ sudo amazon-linux-extras enable postgresql10

Как только вы включите эту дополнительную программу, вы увидите множество пакетов для PostgreSQL 10, доступных через yum, которые можно установить обычным образом:

$ yum list postgresql*
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Installed Packages
postgresql.x86_64                    10.4-5.amzn2.0.2    @amzn2extra-postgresql10
postgresql-devel.x86_64              10.4-5.amzn2.0.2    @amzn2extra-postgresql10
postgresql-libs.x86_64               10.4-5.amzn2.0.2    @amzn2extra-postgresql10
Available Packages
postgresql-contrib.x86_64            10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-docs.x86_64               10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-libs.i686                 10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-plperl.x86_64             10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-plpython.x86_64           10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-plpython3.x86_64          10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-pltcl.x86_64              10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-server.x86_64             10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-static.x86_64             10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-test.x86_64               10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-test-rpm-macros.x86_64    10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-upgrade.x86_64            10.4-5.amzn2.0.2    amzn2extra-postgresql10
postgresql-upgrade-devel.x86_64      10.4-5.amzn2.0.2    amzn2extra-postgresql10
1 голос
/ 27 апреля 2019

Вот мое индивидуальное решение для последней версии Amazon Linux 2 ami:

sudo su
cd /etc/yum.repos.d
nano pgdg.repo

Затем я вставил это в нано-редактор с его недавно созданным файлом pgdg.repo:

[pgdg11]
name=PostgreSQL 11 $releasever - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.5-x86_64
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-11

Дополнительные команды:

sed -i "s/rhel-\$releasever-\$basearch/rhel-7.5-x86_64/g" "/etc/yum.repos.d/pgdg.repo"
yum groupinstall "PostgreSQL Database Server 11 PGDG"

Создайте новый кластер базы данных PostgreSQL:

/usr/pgsql-11/bin/postgresql-11-setup initdb

Теперь выполните следующую команду, чтобы запустить и включить службы postgresql:

systemctl enable postgresql-11
systemctl start postgresql-11

Тем не менее, имейте в виду заметки по этому адресу: Ссылка на Postgresql.org

...