Điểm:0

Làm cách nào để tạo hình ảnh docker postgres với hỗ trợ pgcrypto sha3-512?

lá cờ cn

Tôi cần tạo một hình ảnh docker postgresql 11 có hỗ trợ hàm băm sha3-512.Theo mặc định, hình ảnh docker postgres chính thức không hỗ trợ điều này. Tôi đã có một số hệ thống sử dụng hình ảnh docker chính thức. Tôi cần một hình ảnh mới hoạt động chính xác như hình ảnh chính thức, ngoại trừ việc nó có hỗ trợ cho các hàm băm này. Ý tưởng của tôi là tạo một bản sao của Dockerfile chính thức và sửa đổi nó.

Theo phần ghi chú cấu hình ở đây: https://www.postgresql.org/docs/11/pgcrypto.html#id-1.11.7.34.10 các hàm băm SHA224/256/384/512 chỉ được hỗ trợ nếu postgresql được cấu hình và xây dựng với --with-openssl

Tôi đã sao chép Dockerfile và entrypoint script từ đây:

https://github.com/docker-library/postgres/tree/master/11/stretch

và sau đó, tôi bị mắc kẹt. Tôi không biết làm thế nào hoặc ở đâu để thêm "--with-openssl". Tôi nghi ngờ rằng việc cấu hình và biên dịch xảy ra ở phần này:

# xây dựng các tệp .deb từ các gói nguồn của thượng nguồn (được xác minh bởi apt-get)
            cập nhật apt-get; \
            apt-get build-dep -y \
                postgresql-common pgdg-keyring \
                "postgresql-$PG_MAJOR=$PG_VERSION" \
            ; \
            DEB_BUILD_OPTIONS="nocheck song song=$(nproc)" \
                nguồn apt-get --compile \
                    postgresql-common pgdg-keyring \
                    "postgresql-$PG_MAJOR=$PG_VERSION" \
            ; \

nhưng tại thời điểm này, tôi không biết phải làm gì, hoặc thay đổi điều gì.

Bản thân lỗi là như thế này

chọn thông báo ('kiểm tra','sha3-512')
Lỗi SQL [22023]: LỖI: Không thể sử dụng "sha3-512": Không có thuật toán băm như vậy

Dường như, không có thuật toán băm bổ sung nào được thêm vào:

postgres=# \df thông báo
                       Danh sách các chức năng
 Lược đồ | Tên | Kiểu dữ liệu kết quả | Kiểu dữ liệu đối số | Loại 
--------+------+------------------+------------ ------+------
(0 hàng)

postgres=# select * from pg_available_extensions where name='pgcrypto';
tên |default_version|install_version|bình luận |
--------+----------------+-----------------+------- ----------------+
pgcrypto|1.3 |1.3 |chức năng mật mã|
lá cờ cn
Nếu tôi khởi động hình ảnh chính thức và thực thi "pg_config" trong đó, thì "--with-openssl" sẽ có trong CẤU HÌNH, nhưng thuật toán sha3-512 vẫn không khả dụng. Vì vậy, có thể vấn đề không phải là tùy chọn --with-openssl bị thiếu. Nhưng sau đó thì?
Điểm:0
lá cờ cn

Sau khi thử các giải pháp khả thi khác nhau (với một số trợ giúp), tôi phát hiện ra rằng postgres:11.14-bullseye hoạt động chính xác và nó chứa tất cả các hàm băm openssl. Thật thú vị, mặc định postgres:11 đang thiếu họ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.