팀원들과 온라인으로 몇 가지 통찰력을 공유하고 싶습니다.포스트그레SQL데이터베이스(도커화된 Debian Bullseye에서 호스팅) 사용 watch
(다른 도구를 알고 있는 경우 선호)pgAdmin4하지만 실시간 수정 사항을 볼 수 있는 방법을 찾을 수 없습니다. 알려주세요.)
현재 나는 이것을하고 있습니다 :
$ PGPASSWORD=***************
$ reset
$ watch -n 1.0 "psql \
-d postgresql://postgres:${PGPASSWORD}@localhost:5432/dbname \
-c 'select id,name,customer,order,product from public.table where id in (1,2,3,4) order by (id)';"
이렇게 하면 비밀번호가 bash 기록에 저장되지 않으며(첫 번째 줄 앞의 공백에 유의) 호출 후 더 이상 화면에 표시되지 않습니다 reset
(호스트는 Ubuntu 18.04에 있음).
그러나 watch
명령이 시작되면 실제로 화면 맨 위에 연결된 전체 쿼리 문자열이 일반 텍스트로 "변환"되어 데이터베이스 비밀번호(또는 기타 변수)가 표시됩니다.
Every 1.0s: psql -d postgresql://postgres:mysecretpassword@localhost:5439/dbname -c (...)
...
숨길 기회가 있나요?
답변1
예, -t
설명된 대로 이 옵션을 사용하십시오 turn off header
.
그러면 호출된 명령의 출력만 인쇄됩니다.
추가 정보:
$ watch --help
Usage:
watch [options] command
Options:
-b, --beep beep if command has a non-zero exit
-c, --color interpret ANSI color and style sequences
-d, --differences[=<permanent>]
highlight changes between updates
-e, --errexit exit if command has a non-zero exit
-g, --chgexit exit when output from command changes
-n, --interval <secs> seconds to wait between updates
-p, --precise attempt run command in precise intervals
-t, --no-title turn off header
-x, --exec pass command to exec instead of "sh -c"
-h, --help display this help and exit
-v, --version output version information and exit
For more details see watch(1).
답변2
왜 사용하지 않습니까?pgpass 파일? 내 생각에는 이렇게 하는 것이 더 안전할 것 같다.