ショコラ
緊急ポストグレスコンテナを立ち上げるには?
「docker run -e POSTGRES_PASSWORD ={パスワード} -p 5432:5432 postgres:{バージョン}」でキメマス。
初回は環境変数 POSTGRES_PASSWORD でパスワードを指定する。
PostgreSQL のポートは 5432です。
もっさん先輩
PostgreSQL14 のコンテナを起動します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD={パスワード}\
-p 5432:5432\
postgres:14
ボリュームを指定して起動します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD={パスワード}\
-p 5432:5432\
-v ${PWD}/data:/var/lib/postgresql/data\
postgres:14
EUC-JP のデータベースを作成します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD={パスワード}\
-p 5432:5432\
-v ${PWD}/data:/var/lib/postgresql/data\
-e POSTGRES_INITDB_ARGS="--no-locale --encoding=EUC_JP"\
postgres:14
パラメーターを設定します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD={パスワード}\
-p 5432:5432\
-v ${PWD}/data:/var/lib/postgresql/data\
-e POSTGRES_INITDB_ARGS="--no-locale --encoding=EUC_JP"\
postgres:14\
postgres\
-c "listen_addresses=*"\
-c max_connections=100\
-c shared_buffers=2GB\
-c work_mem=600MB\
-c effective_cache_size=4GB\
-c random_page_cost=1.1
ポストグレス8のデータベースを作成します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD={パスワード}\
-p 5432:5432\
-v ${PWD}/data:/var/lib/postgresql/data\
-e POSTGRES_INITDB_ARGS="--no-locale --encoding=EUC_JP"\
postgres:8
例
PostgreSQL14 のコンテナを起動します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD=123456\
-p 5432:5432\
postgres:14
ボリュームを指定して起動します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD=123456\
-p 5432:5432\
-v ${PWD}/data:/var/lib/postgresql/data\
postgres:14
EUC-JP のデータベースを作成します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD=123456\
-p 5432:5432\
-v ${PWD}/data:/var/lib/postgresql/data\
-e POSTGRES_INITDB_ARGS="--no-locale --encoding=EUC_JP"\
postgres:14
パラメーターを設定します。
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD=123456\
-p 5432:5432\
-v ${PWD}/data:/var/lib/postgresql/data\
-e POSTGRES_INITDB_ARGS="--no-locale --encoding=EUC_JP"\
postgres:14\
postgres\
-c "listen_addresses=*"\
-c max_connections=100\
-c shared_buffers=2GB\
-c work_mem=600MB\
-c effective_cache_size=4GB\
-c random_page_cost=1.1
手順
- PostgreSQLコンテナを立ち上げます。
docker run\
--name postgres\
-e POSTGRES_PASSWORD=123456\
-p 5432:5432\
postgres:14
- PostgreSQLコンテナにログインします。
docker exec -it postgres psql -U postgres
- ロールを作成します。
CREATE ROLE [ユーザー名] LOGIN PASSWORD '[パスワード]';
- インポートします。
psql -U [ユーザー名] < [ダンプファイル]
↓ポストグレスにログインできました。
$ docker exec -it postgres psql -U postgres
psql (14.2 (Debian 14.2-1.pgdg110+1))
Type "help" for help.
postgres=#
私のメモ
docker run\
-e TZ=Asia/Tokyo\
-e POSTGRES_PASSWORD=123456\
-p 5432:5432\
-v ${PWD}/data:/var/lib/postgresql/data\
-e POSTGRES_INITDB_ARGS="--no-locale --encoding=EUC_JP"\
postgres:8
docker exec -it postgres bash
psql -U postgres
CREATE ROLE rixx LOGIN PASSWORD '123456';
\q
psql -U postgres < xxx.dmp
以上