ITの隊長のブログ

ITの隊長のブログです。Pythonを使って仕事しています。最近はWebに戻ってきたお(^ω^ = ^ω^)

DockerでPostgreSQLのコンソール?に叩いたSQLを流すようにしたい(できていない)

スポンサードリンク

まだできていないけど、コンテナ内部のログファイルに出力するようにしたのであとはそこをどうにかするだけ。

$ docker run -d --rm --name test_pos -e POSTGRES_PASSWORD=test -it postgres:14.1
f779875f7c8db4889316bc5730276b258aa96497de6fdb54c64635dbfd8163fa
$ docker ps | grep test_pos
f779875f7c8d   postgres:14.1         "docker-entrypoint.s…"   13 seconds ago   Up 12 seconds   5432/tcp                 test_pos

$ docker cp test_pos:/var/lib/postgresql/data/postgresql.conf pg.conf
$ wc pg.conf
     798    3775   28835 pg.conf

# 設定を下記コメントのようにいじる
$ vim pg.conf
# log_destination = 'stderr'
# logging_collector = on
# log_connections = on
# log_disconnections = on
# log_statement = 'all'

$ docker stop test_pos
$ docker run --rm --name test_pos -e POSTGRES_PASSWORD=test  -v $(pwd)/pg.conf:/etc/postgresql/postgresql.conf -it postgres:14.1 -c config_file="/etc/postgresql/postgresql.conf"

面倒な手順踏んでいるけど、configファイルもちゃんと差分管理していきたくて(ちなみにログ出力するだけであれば、環境変数をいじればおk)