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

PostgreSQLDockerイメージでテーブルを作成します

    公式Dockerイメージのdocker-entrypoint.shスクリプトpostgresの 書かれている:

    psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
    
            echo
            for f in /docker-entrypoint-initdb.d/*; do
                case "$f" in
                    *.sh)     echo "$0: running $f"; . "$f" ;;
                    *.sql)    echo "$0: running $f"; "${psql[@]}" < "$f"; echo ;;
                    *.sql.gz) echo "$0: running $f"; gunzip -c "$f" | "${psql[@]}"; echo ;;
                    *)        echo "$0: ignoring $f" ;;
                esac
                echo
    done
    

    したがって、Dockerイメージ内で実行するすべての.sqlファイルは、そのフォルダー内に配置できます。だから私のdockerfileは次のようになります

    FROM postgres:9.3
    ENV POSTGRES_USER docker
    ENV POSTGRES_PASSWORD docker
    ENV POSTGRES_DB docker
    ADD CreateDB.sql /docker-entrypoint-initdb.d/
    

    そして、私のCreateDB.sqlの内容:

    CREATE TABLE web_origins (
        client_id character varying(36) NOT NULL,
        value character varying(255)
    );
    

    だから私はコンテナを次のように始めます:

    docker run -d my-postgres
    

    確認するには:

    docker exec -it 6250aee43d12 bash
    [email protected]:/# psql -h localhost -p 5432 -U docker -d docker
    psql (9.3.13)
    Type "help" for help.
    
    docker=# \c
    You are now connected to database "docker" as user "docker".
    docker=# \dt
               List of relations
     Schema |    Name     | Type  | Owner
    --------+-------------+-------+--------
     public | web_origins | table | docker
    (1 row)
    

    mysqlの詳細はこのブログで確認できます 。




    1. ユーザーのデフォルトデータベースを開くことができません。ログインに失敗しました。 SQL Server ManagementStudioExpressをインストールした後

    2. テーブルが空の場合はINSERTを実行しますか?

    3. SQL Server文字列関数(完全なリスト)

    4. AWSPostgresRDSテーブルをAWSS3にエクスポートする