sql >> データベース >  >> RDS >> PostgreSQL

コンテナ内にpostgres拡張機能を作成するにはどうすればよいですか?

    ビルド中にPostgresがコンテナで実行されていないため、失敗しています。PostgresはCMDでのみ開始されます。 コンテナが実行されたとき。

    Dockerイメージのエントリポイントスクリプトは、セットアップ手順の実行をサポートしています-/docker-entrypoint-initdb.d内の.sqlまたは.shファイル ディレクトリは、コンテナの起動時に実行されます。

    したがって、拡張機能の設定をSQLスクリプトに入れ、スクリプトをinitディレクトリのイメージにコピーすることでこれを行うことができます。

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

    そのイメージをビルドすると、SQLスクリプトが実行される適切な場所に配置されるため、コンテナーがイメージから実行されるたびに、拡張機能がインストールされます。




    1. ORD()がMariaDBでどのように機能するか

    2. PostgreSQLでデータを挿入および削除する方法

    3. SQL Server(T-SQL)からHTMLメールを送信する方法

    4. Postgresウィンドウ関数とgroupby例外