Postgres 컨테이너 Docker에서 CSV 파일에 쿼리를 기록하는 방법

2517 단어 postgres
데이터베이스의 많은 테이블에 영향을 미치는 API로 작업할 때 백엔드 코드에서 하나씩 추적하는 것이 다소 답답합니다. 따라서 이 솔루션은 많은 시간을 절약해 줍니다.

먼저 실행 중인 Postgres 컨테이너에 들어가야 합니다.
docker ps를 사용하여 도커 이름 찾기

docker exec -it NAME_OF_CONTAINER bash

이제 루트 경로에 있습니다. 다음을 실행하여 Postgres 측으로 이동하십시오.

psql -U YOUR_POSTGRES_USERNAME


이 명령으로 구성 파일을 찾은 다음 종료합니다\q.

postgres=# SHOW config_file;
postgres-# \q


vim을 사용하여 파일을 편집하겠습니다. 원하는 경우 나노를 사용할 수 있습니다. 이 명령으로 설치

apt-get update
apt-get install vim


이제 Postgres를 종료한 후 다시 루트 경로에 있는 구성 파일로 이동합니다. 내 것이/var/lib/postgresql/data/postgresql.conf
cd /var/lib/postgresql/data/
vi postgresql.conf

/를 찾으려면 vim에서 ERROR REPORTING AND LOGGING를 누르십시오.
제거하여 주석 해제#

"로그 위치"섹션에서


log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'


"기록할 항목"섹션에서


log_statement=all

어디에 언제 무엇을 기록해야 하는지에 대해 자세히 읽어보십시오here.

저장하고 Postgres를 다시 시작하거나 exit를 입력하여 컨테이너를 종료한 다음 대신 Postgres 컨테이너를 다시 시작하십시오.

docker restart NAME_OF_CONTAINER


이제 API로 테스트할 시간입니다!!

로그 CSV 파일은 이 경로pg_log/var/lib/postgresql/data/ 디렉토리에 있어야 합니다.

컨테이너 Docker에서 컴퓨터로 CSV 파일을 복사하려면 이 명령을 사용하십시오.
예. ~/Downloads/docker-log 디렉토리에 복사하겠습니다.

docker cp NAME_OF_CONTAINER:/var/lib/postgresql/data/pg_log ~/Downloads/docker-log


데이터를 필터링하기 위해 csvkit과 같은 도구를 쉽게 구현하고 사용할 수 있도록 CSV 파일에 머리글 열을 추가하는 것이 좋습니다.

읽어 주셔서 감사합니다.

좋은 웹페이지 즐겨찾기