지원되는 버전:현재 (18) / 17 / 16 / 15 / 14 / 13
개발 버전:개발자
지원되지 않는 버전:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3

스포츠 토토 베트맨

스포츠 토토 베트맨 — a에서 OID 및 파일 노드를 확인합니다.포스트그레SQL데이터 디렉토리

시놉시스

스포츠 토토 베트맨 [옵션...]

설명

스포츠 토토 베트맨은 관리자가 PostgreSQL에서 사용하는 파일 구조를 검사하는 데 도움이 되는 유틸리티 프로그램입니다. 이를 사용하려면 다음에서 설명하는 데이터베이스 파일 구조를 잘 알아야 합니다.젠 토토 : 문서 : 13 : 69 장. 데이터베이스 물리적 스토리지.

참고

이름oid2이름은 역사적이며 실제로 다소 오해의 소지가 있습니다. 대부분의 경우 이를 사용할 때 실제로 테이블의 파일 노드 번호(데이터베이스 디렉토리에 표시되는 파일 이름)에 관심을 갖게 되기 때문입니다. 테이블 OID와 테이블 파일 노드의 차이점을 이해하세요!

oid2이름대상 데이터베이스에 연결하고 OID, 파일 노드 및/또는 테이블 이름 정보를 추출합니다. 데이터베이스 OID나 테이블스페이스 OID를 표시하도록 할 수도 있습니다.

옵션

oid2이름다음 명령줄 인수를 허용합니다:

-f파일 노드
--filenode=파일 노드

filenode가 있는 테이블에 대한 정보 표시파일 노드.

-i
--색인

목록에 색인과 시퀀스를 포함합니다.

-ooid
--oid=oid

OID가 있는 테이블에 대한 정보 표시oid.

-q
--조용함

헤더를 생략합니다(스크립팅에 유용함).

-s
--테이블스페이스

테이블스페이스 OID를 표시합니다.

-S
--시스템-객체

시스템 개체 포함(다음에 있는 개체information_schema, pg_toast그리고pg_catalog스키마).

-t테이블 이름_패턴
--테이블=테이블 이름_패턴

일치하는 테이블에 대한 정보 표시테이블 이름_패턴.

-V
--버전

인쇄oid2이름버전 및 종료.

-x
--확장

표시된 각 개체에 대한 추가 정보 표시: 테이블스페이스 이름, 스키마 이름 및 OID.

-?
--도움말

다음에 관한 도움말 보기oid2이름명령줄 인수 및 종료.

oid2이름또한 연결 매개변수에 대해 다음 명령줄 인수를 허용합니다.

-d데이터베이스
--dbname=데이터베이스

연결할 데이터베이스.

-h호스트
--호스트=호스트

데이터베이스 서버의 호스트.

-H호스트

데이터베이스 서버의 호스트. 이 매개변수의 사용은 다음과 같습니다.지원 중단됨현재PostgreSQL 12.

-p포트
--포트=포트

데이터베이스 서버의 포트.

-U사용자 이름
--사용자 이름=사용자 이름

연결할 사용자 이름.

특정 테이블을 표시하려면 다음을 사용하여 표시할 테이블을 선택하십시오.-o, -f및/또는-t. -oOID를 가져옵니다.-f파일 노드를 취하고-t테이블 이름을 사용합니다(실제로는좋아요패턴이므로 다음과 같은 것을 사용할 수 있습니다.foo%). 이러한 옵션을 원하는 만큼 사용할 수 있으며 목록에는 옵션과 일치하는 모든 개체가 포함됩니다. 그러나 이러한 옵션은 다음과 같이 지정된 데이터베이스의 개체만 표시할 수 있습니다.-d.

아무것도 주지 않으면-o, -f또는-t하지만 기부하세요-d, 이름이 다음과 같은 데이터베이스의 모든 테이블이 나열됩니다.-d. 이 모드에서는-S그리고-i옵션은 나열되는 항목을 제어합니다.

당신이 주지 않는다면-d또는 데이터베이스 OID 목록이 표시됩니다. 또는 당신이 줄 수 있습니다-s테이블스페이스 목록을 얻으려면.

환경

PGHOST
PG포트
PGUSER

기본 연결 매개변수.

이 유틸리티는 대부분의 다른 유틸리티와 마찬가지로포스트그레SQL유틸리티는 다음에서 지원하는 환경 변수도 사용합니다.libpq(참조PostgreSQL : 문서 : 13 : 33.14. 환경 토토 베이).

환경 변수PG_COLOR진단 메시지에 색상을 사용할지 여부를 지정합니다. 가능한 값은 다음과 같습니다.항상, 자동그리고절대로.

참고

스포츠 토토 베트맨손상되지 않은 시스템 카탈로그를 갖춘 실행 중인 데이터베이스 서버가 필요합니다. 따라서 이는 치명적인 데이터베이스 손상 상황에서 복구하는 데 제한적으로만 사용됩니다.

$ # 그런데 이 데이터베이스 서버에는 무엇이 들어있나요?
$ oid2이름
모든 데이터베이스:
    Oid 데이터베이스 이름 테이블스페이스
----------------------------------
  17228 alvherre pg_default
  17255 회귀 pg_default
  17227 템플릿0 pg_default
      1 템플릿1 pg_default

$ 스포츠 토토 베트맨 -s
모든 테이블스페이스:
     Oid 테이블스페이스 이름
------------
    1663 pg_기본
    1664 pg_글로벌
  155151 패스트 디스크
  155152 빅디스크

$ # 좋아요, 데이터베이스 alvherre를 살펴보겠습니다
$ cd $PGDATA/베이스/17228

$ # 크기순으로 기본 테이블스페이스의 상위 10개 DB 객체를 가져옵니다.
$ ls -lS * | 머리 -10
-rw------- 1 alvherre alvherre 136536064 sep 14 09:51 155173
-rw------- 1 alvherre alvherre 17965056 sep 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 파일이 뭔지 궁금하네요...
$ 스포츠 토토 베트맨 -d alvherre -f 155173
데이터베이스 "alvherre"에서:
  파일노드 테이블 이름
---------
    155173 계정

$ # 하나 이상의 개체를 요청할 수 있습니다
$ 스포츠 토토 베트맨 -d alvherre -f 155173 -f 1155291
데이터베이스 "alvherre"에서:
  파일노드 테이블 이름
------------
    155173 계정
   1155291 account_pkey

$ # 옵션을 혼합할 수 있으며 -x를 사용하여 자세한 내용을 얻을 수 있습니다.
$ 스포츠 토토 베트맨 -d alvherre -t 계정 -f 1155291 -x
데이터베이스 "alvherre"에서:
  Filenode 테이블 이름 Oid 스키마 테이블스페이스
----------------------------
    155173 계정 155173 공개 pg_default
   1155291 account_pkey 1155291 공개 pg_default

$ # 모든 DB 객체의 디스크 공간을 표시합니다.
$ du [0-9]* |
 SIZE FILENODE를 읽는 동안
 하다
 echo "$SIZE `스포츠 토토 베트맨 -q -d alvherre -i -f $FILENODE`"
 완료
16 1155287 Branch_pkey
16 1155289 Tellers_pkey
17561 1155291 account_pkey
...

$ # 동일하지만 크기별로 정렬
$ du [0-9]* | 정렬 -rn | SIZE FN을 읽는 동안
 하다
 echo "$SIZE `스포츠 토토 베트맨 -q -d alvherre -f $FN`"
 완료
133466 155173 계정
17561 1155291 account_pkey
1177 16717 pg_proc_proname_args_nsp_index
...

$ # 테이블스페이스에 무엇이 있는지 보려면 pg_tblspc 디렉토리를 사용하십시오.
$ cd $PGDATA/pg_tblspc
$ 스포츠 토토 베트맨 -s
모든 테이블스페이스:
     Oid 테이블스페이스 이름
------------
    1663 pg_기본
    1664 pg_글로벌
  155151 패스트 디스크
  155152 빅디스크

$ # 테이블스페이스 "fastdisk"에 개체가 있는 데이터베이스는 무엇입니까?
$ ls -d 155151/*
155151/17228/155151/PG_VERSION

$ # 아, 데이터베이스 17228은 또 뭐였죠?
$ oid2이름
모든 데이터베이스:
    Oid 데이터베이스 이름 테이블스페이스
----------------------------------
  17228 alvherre pg_default
  17255 회귀 pg_default
  17227 템플릿0 pg_default
      1 템플릿1 pg_default

$ # 이 데이터베이스가 테이블스페이스에 어떤 객체를 가지고 있는지 살펴보겠습니다.
$ CD 155151/17228
$ ls -l
총 0
-rw------- 1 포스트그레스 포스트그레스 0 sep 13 23:20 155156

$ # 네, 꽤 작은 테이블인데... 어느 테이블인가요?
$ 스포츠 토토 베트맨 -d alvherre -f 155156
데이터베이스 "alvherre"에서:
  파일노드 테이블 이름
---------
    155156 푸

저자

B. 팔머

수정 사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.