PostgreSQL はオープンソースのリレーショナルデータベース。
SQL に準拠し、高度な機能を備えている。
docker run --name my_postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=mydb \
-c log_statement=all \
-d postgres
docker logs -f my_postgres
docker exec -it my_postgres psql -U root -d db_name
ALTER SYSTEM SET log_statement = ' all' ;
SELECT pg_reload_conf();
3. docker logs
でログが見えない場合の確認
SHOW log_destination;
SHOW logging_collector;
log_destination='stderr'
なら docker logs
で確認可能。
logging_collector=on
の場合、ログはファイルに出力される。
4. logging_collector
を無効化(docker logs
で確認できるようにする)
ALTER SYSTEM SET logging_collector = ' off' ;
SELECT pg_reload_conf();
5. ログファイルを確認(logging_collector=on
の場合)
docker exec -it my_postgres bash
ls -l /var/lib/postgresql/data/log/
cat /var/lib/postgresql/data/log/postgresql.log
version : ' 3.8'
services :
postgres :
image : postgres:latest
container_name : my_postgres
environment :
POSTGRES_USER : postgres
POSTGRES_PASSWORD : password
POSTGRES_DB : mydb
command : ["postgres", "-c", "log_statement=all", "-c", "logging_collector=on", "-c", "log_destination=stderr"]
ports :
- " 5432:5432"
volumes :
- pgdata:/var/lib/postgresql/data
volumes :
pgdata :