토토 베이2name - a의 토토 베이 및 파일 노드를 해결합니다.PostgreSQL데이터 디렉토리
토토 베이2name
[옵션
...]
토토 베이2name는 관리자가 PostgreSQL에서 사용하는 파일 구조를 검사하는 데 도움이되는 유틸리티 프로그램입니다. 이를 사용하려면에 설명 된 데이터베이스 파일 구조에 익숙해야합니다.PostgreSQL : 문서 : 개발 : 66 장. 데이터베이스 물리적 토토 사이트 순위.
이름“토토 베이2name”는 역사적이며 실제로 오해의 소지가 있습니다. 대부분 사용하기 때문에 실제로는 테이블의 filenode 번호 (데이터베이스 디렉토리에 표시되는 파일 이름)와 관련이 있습니다. 테이블 토토 베이와 테이블 filenodes의 차이점을 이해하십시오!
토토 베이2name대상 데이터베이스에 연결하고 토토 베이, Filenode 및/또는 테이블 이름 정보를 추출합니다. 데이터베이스 토토 베이 또는 테이블 스페이스 토토 베이를 표시 할 수도 있습니다.
토토 베이2name다음 명령 줄 인수를 수락합니다 :
-ffilenode
-filenode =filenode
filenode가있는 테이블에 대한 정보 표시filenode
.
-i
-인덱스
목록에 인덱스 및 시퀀스 포함.
-o토토 베이
11849_11857토토 베이
토토 베이가있는 테이블에 대한 정보 표시토토 베이
.
-Q
-Quiet
헤더 생략 (스크립팅에 유용).
-s
--- 테이블 스페이스
테이블 스페이스 토토 베이S 표시.
-s
--시스템-오브젝트
시스템 개체 포함 (Information_Schema
, PG_TOAST
andPG_CATALOG
스키마).
-tTableName_pattern
---table =TableName_pattern
테이블 일치하는 정보 표시tableName_pattern
.
-v
-버전
인쇄토토 베이2name버전 및 종료.
-x
-extended
표시된 각 객체에 대한 자세한 내용 : 테이블 스페이스 이름, 스키마 이름 및 토토 베이.
-?
-help
도움말 표시토토 베이2name명령 줄 인수 및 종료
토토 베이2name연결 매개 변수에 대한 다음 명령 줄 인수를 수락합니다.
-d데이터베이스
-dbname =데이터베이스
연결할 데이터베이스.
-hhost
-host =host
Database Server의 호스트.
-hhost
Database Server의 호스트. 이 매개 변수의 사용은입니다.감가 상각PostgreSQL 12.
-p포트
-포트 =포트
데이터베이스 서버 포트.
-u사용자 이름
--username =사용자 이름
사용자 이름으로 연결합니다.
특정 테이블을 표시하려면 사용하여 표시 할 테이블을 선택하십시오-o
, -f
및/또는-t
. -o
토토 베이를 가져와-f
Filenode를 복용하고-t
테이블 이름을 가져옵니다 (실제로는 A좋아요
패턴이므로와 같은 것을 사용할 수 있습니다.foo%
). 원하는만큼 이러한 옵션을 사용할 수 있으며 리스팅에는 옵션과 일치하는 모든 객체가 포함됩니다. 그러나 이러한 옵션은에 제공된 데이터베이스에 객체 만 표시 할 수 있습니다.-d
.
당신이 아무것도주지 않는다면-o
, -f
또는-t
,하지만-d
-d
. 이 모드에서-s
and-i
옵션 제어 내용을 제어합니다.
주지 않으면-d
또한 데이터베이스 토토 베이 목록이 표시됩니다. 또는 당신은 줄 수 있습니다-s
테이블 스페이스 목록을 얻으려면
pghost
pgport
PGUSER
기본 연결 매개 변수.
이 유틸리티, 대부분의 다른 유틸리티PostgreSQL유틸리티는 또한 지원하는 환경 변수를 사용합니다libpq(참조PostgreSQL : 문서 : 개발 : 32.15. 환경 젠 토토).
환경 변수pg_color
진단 메시지에서 색상 사용 여부를 지정합니다. 가능한 값은항상
, auto
and절대
.
토토 베이2name이래가 아닌 시스템 카탈로그가있는 실행중인 데이터베이스 서버가 필요합니다. 그러므로 치명적인 데이터베이스 부패 상황에서 복구하는 데 제한된 사용이 제한적입니다.
$ # 어쨌든이 데이터베이스 서버는 무엇입니까? $ 토토 베이2name 모든 데이터베이스 : 토토 베이 데이터베이스 이름 테이블 스페이스 ------------------------------------ 17228 ALVHERRE PG_DEFAULT 17255 회귀 pg_default 17227 Template0 PG_DEFAULT 1 Template1 PG_DEFAULT $ 토토 베이2name -s 모든 테이블 스페이스 : 토토 베이 테이블 스페이스 이름 ----------------------------- 1663 PG_DEFAULT 1664 PG_GLOBAL 155151 FastDisk 155152 BIGDISK $ # 좋아, 데이터베이스 ALVHERRE를 살펴 보자 $ cd $ pgdata/base/17228 $ # 기본 테이블 스페이스에서 상위 10 개의 DB 객체를 크기별로 주문하십시오. $ ls -ls * | 머리 -10 -RW ------ 1 ALVHERRE ALVHERRE 136536064 9 월 14 일 09:51 155173 -RW ------ 1 ALVHERRE ALVHERRE 17965056 9 월 14 일 09:51 1155291 -RW ------- 1 ALVHERRE ALVHERRE 1204224 9 월 14 일 09:51 16717 -RW ------- 1 ALVHERRE ALVHERRE 581632 9 월 6 일 17:51 1255 -RW ------- 1 ALVHERRE ALVHERRE 237568 9 월 14 일 09:50 16674 -RW ------- 1 ALVHERRE ALVHERRE 212992 9 월 14 일 09:51 1249 -RW ------- 1 ALVHERRE ALVHERRE 204800 9 월 14 일 09:51 16684 -RW ------- 1 ALVHERRE ALVHERRE 196608 9 월 14 일 09:50 16700 -RW ------- 1 ALVHERRE ALVHERRE 163840 9 월 14 일 09:50 16699 -RW ------- 1 ALVHERRE ALVHERRE 122880 9 월 6 일 17:51 16751 $ # 155173은 어떤 파일입니까? $ 토토 베이2NAME -D ALVHERRE -F 155173 데이터베이스 "Alvherre"에서 : Filenode 테이블 이름 ------------------------ 155173 계정 $ # 둘 이상의 객체를 요청할 수 있습니다. $ 토토 베이2NAME -D ALVHERRE -F 155173 -F 1155291 데이터베이스 "Alvherre"에서 : Filenode 테이블 이름 ----------------------------- 155173 계정 1155291 Accounts_pkey $ # 옵션을 혼합하고 -X로 자세한 내용을 얻을 수 있습니다. $ 토토 베이2name -d alvherre -t 계정 -f 1155291 -x 데이터베이스 "Alvherre"에서 : Filenode 테이블 이름 토토 베이 스키마 테이블 스페이스 -------------------------------------------------------------- 155173 계정 155173 Public Pg_default 1155291 Accounts_Pkey 1155291 Public PG_DEFAULT $ # 모든 DB 객체에 대한 디스크 공간 표시 $ du [0-9]* | 크기 필레 노드를 읽는 동안 하십시오 echo "$ size`토토 베이2name -q -d alvherre -i -f $ filenode`" 완료 16 1155287 Branches_pkey 16 1155289 Tellers_pkey 17561 1155291 Accounts_pkey ... $ # 동일하지만 크기별로 정렬하십시오 $ du [0-9]* | 정렬 -rn | 읽기 크기 fn 하십시오 echo "$ size`토토 베이2name -q -d alvherre -f $ fn`" 완료 133466 155173 계정 17561 1155291 Accounts_pkey 1177 16717 PG_PROC_PRONAME_ARGS_NSP_INDEX ... $ # 테이블 스페이스에있는 내용을 보려면 PG_TBLSPC 디렉토리를 사용하십시오. $ cd $ pgdata/pg_tblspc $ 토토 베이2name -s 모든 테이블 스페이스 : 토토 베이 테이블 스페이스 이름 ----------------------------- 1663 PG_DEFAULT 1664 PG_GLOBAL 155151 FastDisk 155152 BIGDISK $ # 테이블 스페이스 "FastDisk"에 객체가있는 데이터베이스는 무엇입니까? $ ls -d 155151/* 155151/17228/155151/pg_version $ # 오, 데이터베이스 17228은 무엇입니까? $ 토토 베이2name 모든 데이터베이스 : 토토 베이 데이터베이스 이름 테이블 스페이스 ------------------------------------ 17228 ALVHERRE PG_DEFAULT 17255 회귀 pg_default 17227 Template0 PG_DEFAULT 1 Template1 PG_DEFAULT $ #이 데이터베이스가 테이블 스페이스에 어떤 객체를 가지고 있는지 보자. $ CD 155151/17228 $ ls -l 총 0 -RW ------- 1 Postgres Postgres 0 9 월 13:20 155156 $ # 좋아, 이것은 꽤 작은 테이블이지만 ... 어느 쪽입니까? $ 토토 베이2NAME -D ALVHERRE -F 155156 데이터베이스 "Alvherre"에서 : Filenode 테이블 이름 ------------------------ 155156 foo
b. 성지 순례자<bpalmer@crimelabs.net