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

Làm cách nào để tạo tiện ích mở rộng postgres bên trong vùng chứa?

Nó không thành công vì Postgres không chạy trong vùng chứa trong quá trình xây dựng, nó chỉ bắt đầu trong CMD khi một vùng chứa chạy.

Tập lệnh entrypoint cho hình ảnh Docker hỗ trợ chạy các bước thiết lập - bất kỳ tệp .sql hoặc .sh nào trong /docker-entrypoint-initdb.d thư mục sẽ được thực thi khi vùng chứa bắt đầu.

Vì vậy, bạn có thể thực hiện việc này bằng cách đặt thiết lập tiện ích mở rộng của mình trong một tập lệnh SQL và sao chép tập lệnh vào hình ảnh trong thư mục init:

> cat hstore.sql
create extension hstore
> cat Dockerfile
FROM postgres:9.5
COPY hstore.sql /docker-entrypoint-initdb.d

Khi bạn tạo hình ảnh đó, tập lệnh SQL sẽ ở đúng vị trí để được thực thi, vì vậy bất cứ khi nào vùng chứa chạy từ hình ảnh đó, nó sẽ cài đặt tiện ích mở rộng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố khi đặt khóa chính tùy chỉnh trong quá trình di chuyển Rails 4

  2. Các tình huống thất bại PostgreSQL phổ biến nhất

  3. Cài đặt Tiện ích mở rộng PostgreSQL cho tất cả các lược đồ

  4. Viết truy vấn cho nhiều bảng trong php

  5. Các hàm Ngày &Giờ trong PostgreSQL