이 스포츠 토토 방법의 배후에있는 아이디어는 SQL 명령이있는 파일을 생성하는 것입니다. 서버에 Fed Back이 스포츠 토토 시점과 동일한 상태에서 데이터베이스를 재현 할 수 있습니다..postgresql유틸리티 프로그램 제공pg_dump이 목적을 위해. 이 명령의 기본 사용은 다음과 같습니다.
pg_dumpdbname
스포츠 토토 파일
보시다시피pg_dump결과를 표준 출력에 씁니다. 우리는 이것이 어떻게 유용 할 수 있는지 아래를 보게 될 것입니다.pg_dump객체 복원의 병렬 처리와보다 세밀한 제어를 허용하는 다른 형식으로 파일을 생성 할 수 있습니다.
pg_dump일반PostgreSQL클라이언트 응용 프로그램 (특히 영리한 응용 프로그램). 즉, 데이터베이스에 액세스 할 수있는 원격 호스트 에서이 백업 절차를 수행 할 수 있습니다.pg_dump특별한 권한으로 작동하지 않습니다. 특히 백업하려는 모든 테이블에 대한 액세스를 읽어야하므로 전체 데이터베이스를 백업하려면 거의 항상 데이터베이스 슈퍼 사용자로 실행해야합니다.-n
또는스키마
-t
.)테이블
데이터베이스 서버를 지정하려면pg_dump연락해야합니다. 명령 줄 옵션 사용-h
andhost
-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
.)
텍스트 파일에 의해 생성pg_dumpPSQL프로그램. 스포츠 토토를 복원하기위한 일반 명령 양식은입니다.
PSQLdbname
<스포츠 토토 파일
여기서스포츠 토토 파일
pg_dump명령. 데이터베이스dbname
이 명령에 의해 생성되지 않으므로 직접 만들어야합니다.Template0
실행 전PSQL(예 :createb -t template0
).PSQL유사한 옵션 지원pg_dump연결할 데이터베이스 서버를 지정하고 사용할 사용자 이름을 지정합니다. 참조PSQL자세한 내용은 참조 페이지. 비 텍스트 파일 스포츠 토토는를 사용하여 복원됩니다.PG_RESTORE유틸리티.dbname
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. 윈 토토베이스 채우기.
pg_dump한 번에 단일 데이터베이스 만 스포츠 토토하며 역할이나 테이블 스페이스에 대한 정보를 스포츠 토토하지 않습니다 (이들은 데이터베이스 당이 아닌 클러스터 전체이기 때문에). 데이터베이스 클러스터의 전체 내용을 편리하게 스포츠 토토하기 위해pg_dumpall프로그램이 제공됩니다.pg_dumpall주어진 클러스터에서 각 데이터베이스를 백업하고 역할 및 테이블 스페이스 정의와 같은 클러스터 전체 데이터도 보존합니다. 이 명령의 기본 사용은 다음과 같습니다.
pg_dumpall스포츠 토토 파일
결과 스포츠 토토를 복원 할 수 있습니다PSQL:
PSQL -F스포츠 토토 파일
Postgres
(실제로 시작할 기존 데이터베이스 이름을 지정할 수 있지만 빈 클러스터에로드하는 경우Postgres
보통 사용해야합니다.) 복원 할 때는 항상 데이터베이스 슈퍼 사용자가 액세스해야합니다pg_dumpall스포츠 토토, 역할 및 테이블 스페이스 정보를 복원하는 데 필요한 스포츠 토토. 테이블 스페이스를 사용하는 경우 스포츠 토토의 테이블 스페이스 경로가 새 설치에 적합한 지 확인하십시오.
pg_dumpall역할, 테이블 스페이스 및 빈 데이터베이스를 다시 만들기 위해 명령을 방출하여 작동합니다pg_dump각 데이터베이스에 대해. 즉, 각 데이터베이스가 내부적으로 일관되지만 다른 데이터베이스의 스냅 샷은 동기화되지 않습니다.
클러스터 전체 데이터는를 사용하여 단독으로 스포츠 토토 할 수 있습니다.pg_dumpall -글로벌 전용
옵션. 를 실행하는 경우 클러스터를 완전히 백업하는 데 필요합니다pg_dump개별 데이터베이스의 명령.
일부 운영 체제는 큰 파일 크기 제한을 가지고있어 큰 생성시 문제를 일으 킵니다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_dump및PG_RESTORE자세한 내용 참조 페이지.
매우 큰 데이터베이스의 경우 결합해야 할 수도 있습니다분할
다른 두 가지 접근 방식 중 하나가 포함되어 있습니다.
usepg_dump의 병렬 스포츠 토토 기능.대형 데이터베이스의 스포츠 토토 속도를 높이려면 사용할 수 있습니다pg_dump의 병렬 모드. 이것은 동시에 여러 테이블을 버립니다.-j
매개 변수. 병렬 스포츠 토토는 "디렉토리"아카이브 형식에만 지원됩니다.
pg_dump -jNum
-f d -fout.dir
dbname
사용할 수 있습니다PG_RESTORE -J
스포츠 토토를 병렬로 복원합니다. 이것은 "사용자 정의"또는 "디렉토리"아카이브 모드의 모든 아카이브에 대해 작동합니다.pg_dump -j
.