PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

LỖI:các ràng buộc không thỏa mãn khi cài đặt PostGIS trên hình ảnh Alpine Docker

Mã trên github chứa một hình ảnh khác postgres:11 núi cao so sánh với hình ảnh được xác định trong câu hỏi:alpine:latest .

Gói gdal-dev , geos-dev , protobuf-c-dev không còn ở nhánh kiểm tra kho cạnh nữa, chúng đã được chuyển sang kho lưu trữ v3.11 ổn định. Ngoài ra proj4-dev đã được đổi tên thành proj-dev , cũng nằm trong kho lưu trữ v3.11 ổn định.

Vì vậy, để sửa Dockerfile chúng ta chỉ cần cài đặt các gói trên từ repo v3.11, tức là thay đổi phần mã này:

&& apk add --no-cache --virtual .build-deps \
    autoconf \
    automake \
    g++ \
    json-c-dev \
    libtool \
    libxml2-dev \
    make \
    perl \
\
&& apk add --no-cache --virtual .build-deps-edge \
    --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
    --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
    gdal-dev \
    geos-dev \
    proj4-dev \
    protobuf-c-dev \
    proj4-dev \
    protobuf-c-dev \

cho cái này:

&& apk add --no-cache --virtual .build-deps \
    autoconf \
    automake \
    g++ \
    gdal-dev \
    geos-dev \
    json-c-dev \
    libtool \
    libxml2-dev \
    make \
    perl \
    proj-dev \
    protobuf-c-dev \
\

Dockerfile cuối cùng là:

FROM alpine:3.11

RUN apk add -U postgresql

# install PostGIS
ENV POSTGIS_VERSION 2.5.2
ENV POSTGIS_SHA256 225aeaece00a1a6a9af15526af81bef2af27f4c198de820af1367a792ee1d1a9
RUN set -ex \
    \
    && apk add --no-cache --virtual .fetch-deps \
        ca-certificates \
        openssl \
        tar \
    \
    && wget -O postgis.tar.gz "https://github.com/postgis/postgis/archive/$POSTGIS_VERSION.tar.gz" \
    && echo "$POSTGIS_SHA256 *postgis.tar.gz" | sha256sum -c - \
    && mkdir -p /usr/src/postgis \
    && tar \
        --extract \
        --file postgis.tar.gz \
        --directory /usr/src/postgis \
        --strip-components 1 \
    && rm postgis.tar.gz \
    \
    && apk add --no-cache --virtual .build-deps \
        autoconf \
        automake \
        g++ \
        gdal-dev \
        geos-dev \
        json-c-dev \
        libtool \
        libxml2-dev \
        make \
        perl \
        proj-dev \
        protobuf-c-dev \
    \
    && cd /usr/src/postgis \
    && ./autogen.sh \
# configure options taken from:
# https://anonscm.debian.org/cgit/pkg-grass/postgis.git/tree/debian/rules?h=jessie
    && ./configure \
#       --with-gui \
    && make \
    && make install \
    && apk add --no-cache --virtual .postgis-rundeps \
        json-c \
    && apk add --no-cache --virtual .postgis-rundeps-edge \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
        geos \
        gdal \
        proj4 \
        protobuf-c \
    && cd / \
    && rm -rf /usr/src/postgis \
    && apk del .fetch-deps .build-deps .build-deps-edge

COPY ./db-creator.sh /db-creator.sh
CMD ["./db-creator.sh"]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đăng nhập và xác thực vào Postgresql sau khi cài đặt mới?

  2. không thể ghi vào tệp nhật ký pg_upgrade_internal.log khi nâng cấp từ Postgresql 9.1 lên 9.3

  3. Trả lại id nếu một hàng tồn tại, INSERT nếu không

  4. Truy vấn Postgres chạy chậm

  5. Knex kết nối với Heroku Postgres bị lỗi?