Могу ли я использовать pg_dumpall без установки postgresQL?
Я попытался в моем Docker-контейнере (из alpine3.6) выполнить команду для установки pg_dumpall, которую я видел в Интернете:
apk update && apk upgrade
а потом
apk add --no-cache postgresql-client-common
и наконец
apk add --no-cache postgresql-client
Работала только последняя из двух попыток, которые я пробовал (одна без общей), но у меня все равно не будет pg_dump
или же pg_dumpall
в моих файлах
2 ответа
Пробовать
apk add postgresql-client
Вы можете увидеть все включенные двоичные файлы этого пакета по этой ссылке. Этот пакет имеет pg_dumpall
Каждая версия Alpine имеет свой клиент postgresql. Для себя я написал такую логику:
ARG PSQL_VERSION=0
RUN if [ "$PSQL_VERSION" = "13" ]; then \
echo "http://dl-cdn.alpinelinux.org/alpine/v3.14/main" >> /etc/apk/repositories; \
elif [ "$PSQL_VERSION" = "12" ]; then \
echo "http://dl-cdn.alpinelinux.org/alpine/v3.12/main" >> /etc/apk/repositories; \
elif [ "$PSQL_VERSION" = "11" ]; then \
echo "http://dl-cdn.alpinelinux.org/alpine/v3.10/main" >> /etc/apk/repositories; \
elif [ "$PSQL_VERSION" = "10" ]; then \
echo "http://dl-cdn.alpinelinux.org/alpine/v3.8/main" >> /etc/apk/repositories; \
fi
RUN apk update
RUN apk --no-cache add postgresql-client
И теперь вы можете передать нужную версию клиента:
docker build -t backuper --build-arg PSQL_VERSION=12 .