이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 25.1. SQL 토토 사이트 추천버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

25.1.SQL스포츠 토토

이 스포츠 토토 방법의 배후에있는 아이디어는 SQL 명령이있는 파일을 생성하는 것입니다. 서버에 Fed Back이 스포츠 토토 시점과 동일한 상태에서 데이터베이스를 재현 할 수 있습니다..postgresql유틸리티 프로그램 제공pg_dump이 목적을 위해. 이 명령의 기본 사용은 다음과 같습니다.

pg_dumpdbname  스포츠 토토 파일

보시다시피pg_dump결과를 표준 출력에 씁니다. 우리는 이것이 어떻게 유용 할 수 있는지 아래를 보게 될 것입니다.pg_dump객체 복원의 병렬 처리와보다 세밀한 제어를 허용하는 다른 형식으로 파일을 생성 할 수 있습니다.

pg_dump일반PostgreSQL클라이언트 응용 프로그램 (특히 영리한 응용 프로그램). 즉, 데이터베이스에 액세스 할 수있는 원격 호스트 에서이 백업 절차를 수행 할 수 있습니다.pg_dump특별한 권한으로 작동하지 않습니다. 특히 백업하려는 모든 테이블에 대한 액세스를 읽어야하므로 전체 데이터베이스를 백업하려면 거의 항상 데이터베이스 슈퍼 사용자로 실행해야합니다.-n스키마또는-t테이블.)

데이터베이스 서버를 지정하려면pg_dump연락해야합니다. 명령 줄 옵션 사용-hhostand-p포트. 기본 호스트는 로컬 호스트이거나 무엇이든pghost환경 변수 지정. 마찬가지로 기본 포트는로 표시됩니다.pgport환경 변수 또는 컴파일 된 기본값에 의해 실패합니다. (편리하게, 서버는 일반적으로 동일한 컴파일 된 기본값을 갖습니다.)

다른 것과 마찬가지로PostgreSQL클라이언트 응용 프로그램,pg_dump기본적으로 현재 운영 체제 사용자 이름과 동일한 데이터베이스 사용자 이름과 연결합니다. 이것을 무시하려면를 지정하십시오.-u옵션 또는 환경 변수 설정PGUSER. 기억pg_dump연결은 일반 클라이언트 인증 메커니즘의 적용을받습니다 (배트맨 토토 : 문서 : 11 : 20 장. 클라이언트 인증).

중요한 이점pg_dump나중에 설명 된 다른 백업 방법에 대한 것입니다.pg_dump의 출력은 일반적으로 최신 버전의로 다시로드 될 수 있습니다.PostgreSQL, 파일 레벨 백업과 연속 보관은 모두 서버-버전에 따라 다릅니다.pg_dump32 비트에서 64 비트 서버로 이동하는 것과 같은 다른 기계 아키텍처로 데이터베이스를 전송할 때 작동하는 유일한 방법입니다.

스포츠 토토 생성pg_dump내부적으로 일관성이 있습니다. 즉, 스포츠 토토는 당시 데이터베이스의 스냅 샷을 나타냅니다pg_dump달리기 시작.pg_dump작동하는 동안 데이터베이스의 다른 작업을 차단하지 않습니다. (예외는 대부분의 형태의와 같은 독점 잠금 장치로 작동 해야하는 작업입니다.Alter Table.)

25.1.1.스포츠 토토 복원

텍스트 파일에 의해 생성pg_dumpPSQL프로그램. 스포츠 토토를 복원하기위한 일반 명령 양식은입니다.

PSQLdbname < 스포츠 토토 파일

여기서스포츠 토토 파일pg_dump명령. 데이터베이스dbname이 명령에 의해 생성되지 않으므로 직접 만들어야합니다.Template0실행 전PSQL(예 :createb -t template0dbname).PSQL유사한 옵션 지원pg_dump연결할 데이터베이스 서버를 지정하고 사용할 사용자 이름을 지정합니다. 참조PSQL자세한 내용은 참조 페이지. 비 텍스트 파일 스포츠 토토는를 사용하여 복원됩니다.PG_RESTORE유틸리티.

SQL 스포츠 토토를 복원하기 전에 객체를 소유하거나 스포츠 토토 된 데이터베이스의 개체에 대한 권한이 부여 된 모든 사용자는 이미 존재해야합니다. 그렇지 않은 경우 복원은 원래 소유권 및/또는 권한으로 물체를 재현하지 못합니다.

기본적으로PSQLSQL 오류가 발생한 후 스크립트가 계속 실행됩니다. 당신은 달리기를 원할 수도 있습니다PSQLwithon_error_stop변수는 해당 동작을 변경하고PSQLSQL 오류가 발생하면 종료 상태가 3 인 종료 :

psql -set on_error_stop = ondbname < 스포츠 토토 파일

어느 쪽이든, 부분적으로 복원 된 데이터베이스 만 있습니다. 또는 전체 스포츠 토토를 단일 트랜잭션으로 복원해야 함을 지정할 수 있으므로 복원이 완전히 완료되거나 완전히 롤백됩니다.-1또는-스플리al- 전환명령 줄 옵션PSQL. 이 모드를 사용할 때는 약간의 오류조차도 이미 몇 시간 동안 실행 된 복원을 롤백 할 수 있습니다.

의 능력pg_dumpandPSQL파이프에 쓰거나 읽거나 읽으려면 한 서버에서 다른 서버로 데이터베이스를 직접 스포츠 토토 할 수 있습니다.

pg_dump -hhost1 dbname| psql -hhost2 dbname

중요

스포츠 토토가 생성 한 스포츠 토토pg_dumpTemplate0. 이것은 모든 언어, 절차 등을 통해 추가를 의미합니다.Template1|pg_dump. 결과적으로 복원 할 때 사용자 정의 된 경우template1,에서 빈 데이터베이스를 만들어야합니다.Template0, 위의 예에서와 같이.

백업을 복원 한 후 실행하는 것이 좋습니다분석18399_18469섹션 24.1.3and섹션 24.1.6자세한 내용. 많은 양의 데이터를로드하는 방법에 대한 더 많은 조언은PostgreSQL효율적으로 참조PostgreSQL : 문서 : 11 : 14.4. 윈 토토베이스 채우기.

25.1.2.사용pg_dumpall

pg_dump한 번에 단일 데이터베이스 만 스포츠 토토하며 역할이나 테이블 스페이스에 대한 정보를 스포츠 토토하지 않습니다 (이들은 데이터베이스 당이 아닌 클러스터 전체이기 때문에). 데이터베이스 클러스터의 전체 내용을 편리하게 스포츠 토토하기 위해pg_dumpall프로그램이 제공됩니다.pg_dumpall주어진 클러스터에서 각 데이터베이스를 백업하고 역할 및 테이블 스페이스 정의와 같은 클러스터 전체 데이터도 보존합니다. 이 명령의 기본 사용은 다음과 같습니다.

pg_dumpall스포츠 토토 파일

결과 스포츠 토토를 복원 할 수 있습니다PSQL:

PSQL -F스포츠 토토 파일Postgres

(실제로 시작할 기존 데이터베이스 이름을 지정할 수 있지만 빈 클러스터에로드하는 경우Postgres보통 사용해야합니다.) 복원 할 때는 항상 데이터베이스 슈퍼 사용자가 액세스해야합니다pg_dumpall스포츠 토토, 역할 및 테이블 스페이스 정보를 복원하는 데 필요한 스포츠 토토. 테이블 스페이스를 사용하는 경우 스포츠 토토의 테이블 스페이스 경로가 새 설치에 적합한 지 확인하십시오.

pg_dumpall역할, 테이블 스페이스 및 빈 데이터베이스를 다시 만들기 위해 명령을 방출하여 작동합니다pg_dump각 데이터베이스에 대해. 즉, 각 데이터베이스가 내부적으로 일관되지만 다른 데이터베이스의 스냅 샷은 동기화되지 않습니다.

클러스터 전체 데이터는를 사용하여 단독으로 스포츠 토토 할 수 있습니다.pg_dumpall -글로벌 전용옵션. 를 실행하는 경우 클러스터를 완전히 백업하는 데 필요합니다pg_dump개별 데이터베이스의 명령.

25.1.3.대형 데이터베이스 처리

일부 운영 체제는 큰 파일 크기 제한을 가지고있어 큰 생성시 문제를 일으 킵니다pg_dump출력 파일. 다행스럽게도,pg_dump표준 출력에 쓸 수 있으므로 표준 UNIX 도구를 사용 하여이 잠재적 인 문제를 해결할 수 있습니다. 가능한 몇 가지 방법이 있습니다.

압축 스포츠 토토를 사용하십시오.예를 들어 좋아하는 압축 프로그램을 사용할 수 있습니다gzip:

pg_dumpdbname| gzipfilename.gz

다시로드 :

Gunzip -Cfilename.gz | PSQLdbname

또는 :

catfilename.gz | Gunzip |dbname

use분할.the분할명령을 사용하면 출력을 크기가 기본 파일 시스템에 허용되는 작은 파일로 분할 할 수 있습니다. 예를 들어, 2 기가 바이트 덩어리를 만들려면 :

pg_dumpdbname| 분할 -B 2G -filename

다시로드 :

catfilename* | PSQLdbname

GNU를 사용하는 경우분할, 그것을 사용할 수 있습니다gzip함께 :

pg_dumpdbname| split -b 2g -filter = 'gzip $ file.gz'

그것은를 사용하여 복원 할 수 있습니다ZCAT.

usepg_dump의 사용자 정의 스포츠 토토 형식.ifPostgreSQLZlib압축 라이브러리가 설치된 경우, 사용자 정의 스포츠 토토 형식은 출력 파일에 쓰는대로 데이터를 압축합니다. 이것은 사용과 유사한 스포츠 토토 파일 크기를 생성합니다gzip이지만 테이블을 선택적으로 복원 할 수 있다는 이점이 추가되었습니다. 다음 명령은 사용자 정의 스포츠 토토 형식을 사용하여 데이터베이스를 스포츠 토토합니다.

pg_dump -fcdbname  filename

사용자 정의 스포츠 토토는 스크립트가 아닙니다PSQL, 그러나 대신 복원해야합니다PG_RESTORE, 예 :

PG_RESTORE -Ddbname filename

참조pg_dumpPG_RESTORE자세한 내용 참조 페이지.

매우 큰 데이터베이스의 경우 결합해야 할 수도 있습니다분할다른 두 가지 접근 방식 중 하나가 포함되어 있습니다.

usepg_dump의 병렬 스포츠 토토 기능.대형 데이터베이스의 스포츠 토토 속도를 높이려면 사용할 수 있습니다pg_dump의 병렬 모드. 이것은 동시에 여러 테이블을 버립니다.-j매개 변수. 병렬 스포츠 토토는 "디렉토리"아카이브 형식에만 지원됩니다.

pg_dump -jNum-f d -fout.dir dbname

사용할 수 있습니다PG_RESTORE -J스포츠 토토를 병렬로 복원합니다. 이것은 "사용자 정의"또는 "디렉토리"아카이브 모드의 모든 아카이브에 대해 작동합니다.pg_dump -j.