sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan opretter man postgres-udvidelse inde i containeren?

Det fejler, fordi Postgres ikke kører i containeren under opbygningen, den er kun startet i CMD når en container kører.

Entrypoint-scriptet til Docker-billedet understøtter kørsel af opsætningstrin - alle .sql- eller .sh-filer i /docker-entrypoint-initdb.d mappe vil blive udført, når containeren starter.

Så du kan gøre dette ved at sætte din udvidelsesopsætning i et SQL-script og kopiere scriptet ind i billedet i init-mappen:

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

Når du bygger det billede, vil SQL-scriptet være på det rigtige sted til at blive udført, så hver gang en container kører fra billedet, vil den installere udvidelsen.




  1. god postgresql klient til windows?

  2. Overførsel af array til en SQL Server Stored Procedure

  3. Sådan finder du datoformatet, der bruges i den aktuelle session i SQL Server (T-SQL)

  4. Godkendelsesplugin 'caching_sha2_password' er ikke understøttet