sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur skapar man postgres-förlängning inuti behållaren?

Det misslyckas eftersom Postgres inte körs i behållaren under bygget, det har bara startat i CMD när en container körs.

Entrypoint-skriptet för Docker-avbildningen har stöd för att köra installationssteg - alla .sql- eller .sh-filer i /docker-entrypoint-initdb.d katalogen kommer att köras när behållaren startar.

Så du kan göra detta genom att sätta din tilläggskonfiguration i ett SQL-skript och kopiera skriptet till bilden i init-katalogen:

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

När du bygger den bilden kommer SQL-skriptet att vara på rätt plats för att köras, så närhelst en behållare körs från bilden kommer den att installera tillägget.




  1. Hitta sista raden i grupp efter query-SQL Server

  2. Vad betyder en tidsstämpel i T-Sql i C#?

  3. Hur man arbetar med arv i Entity Framework Core

  4. [Video] Ansible och PostgreSQL