윈 토토 : 문서 : 9.4 : 윈 토토 9.4 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.4 : 토토 사이트 및 복원 | PostgreSQL : 문서 : 9.4 : 토토 사이트 및 복원 | 24 장. 백업 및 복원 | PostgreSQL : 문서 : 9.4 : 토토 사이트 시스템 수준 백업 |
이 스포츠 토토 방법의 배후에있는 아이디어는 SQL 명령이있는 파일을 생성하는 것입니다. 서버로 Fed Back이 스포츠 토토 시점과 동일한 상태에서 데이터베이스를 재현 할 수 있습니다..PostgreSQL유틸리티 프로그램 제공postgresql : 문서 : 9.4 : 사설 토토이 목적을 위해. 이 명령의 기본 사용은 다음과 같습니다.
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연결은 일반 클라이언트 인증 메커니즘의 적용을받습니다 (스포츠 토토 : 문서 : 9.4 : 클라이언트 인증).
의 중요한 이점pg_dump나중에 설명 된 다른 백업 방법에 대한 것입니다.pg_dump의 출력은 일반적으로 최신 버전의로 다시로드 될 수 있습니다.PostgreSQL, 파일 레벨 백업과 연속 아카이브는 서버-버전에 따라 다릅니다.pg_dump또한 데이터베이스를 32 비트에서 64 비트 서버로 이동하는 것과 같은 다른 기계 아키텍처로 데이터베이스를 전송할 때 작동하는 유일한 방법입니다.
스포츠 토토 생성pg_dump내부적으로 일관성이 있습니다. 즉, 스포츠 토토는 당시 데이터베이스의 스냅 샷을 나타냅니다pg_dump달리기 시작.pg_dump작동하는 동안 데이터베이스의 다른 작업을 차단하지 않습니다. (예외는 대부분의 형태의와 같은 독점 잠금 장치로 작동 해야하는 작업입니다.Alter Table.)
텍스트 파일에 의해 생성pg_dumpPSQL프로그램. 스포츠 토토를 복원하기위한 일반 명령 양식은입니다.
PSQLdbname < 스포츠 토토 파일
여기서스포츠 토토 파일|pg_dump명령. 데이터베이스dbname이 명령에 의해 생성되지 않으므로 직접 만들어야합니다.Template0실행 전PSQL(예 : withcreateb -t template0dbname).PSQL유사한 옵션 지원pg_dump연결할 데이터베이스 서버를 지정하고 사용할 사용자 이름을 지정합니다. 참조PSQL자세한 내용은 참조 페이지. 비 텍스트 파일 스포츠 토토는를 사용하여 복원됩니다.PostgreSQL : 문서 : 9.4 : 범퍼카 토토유틸리티.
SQL 스포츠 토토를 복원하기 전에 객체를 소유하거나 스포츠 토토 된 데이터베이스의 객체에 대한 권한이 부여 된 모든 사용자는 이미 존재해야합니다. 그렇지 않은 경우 복원은 원래 소유권 및/또는 권한으로 물체를 재현하지 못합니다. (때로는 이것은 당신이 원하는 것이지만 보통은 아닙니다.)
기본적으로PSQLSQL 오류가 발생한 후 스크립트가 계속 실행됩니다. 당신은 달리기를 원할 수도 있습니다psqlwithon_error_stop변수는 해당 동작을 변경하고PSQLSQL 오류가 발생하면 종료 상태가 3 인 종료 :
psql -set on_error_stop = ondbname < 스포츠 토토 파일
어느 쪽이든, 부분적으로 복원 된 데이터베이스 만 있습니다. 또는 전체 스포츠 토토를 단일 트랜잭션으로 복원해야 함을 지정할 수 있으므로 복원이 완전히 완료되거나 완전히 롤백됩니다. 이 모드는를 전달하여 지정할 수 있습니다.-1또는--- 단일 전환명령 줄 옵션PSQL. 이 모드를 사용할 때는 약간의 오류조차도 이미 몇 시간 동안 실행 된 복원을 롤백 할 수 있습니다. 그러나 부분적으로 복원 된 스포츠 토토 후 복잡한 데이터베이스를 수동으로 정리하는 것이 여전히 바람직 할 수 있습니다.
의 능력pg_dumpandPSQL파이프에 쓰거나 읽으면 데이터베이스를 한 서버에서 다른 서버로 직접 스포츠 토토 할 수 있습니다.
pg_dump -hhost1 dbname| psql -hhost2 dbname
중요 :스포츠 토토가 생성 한 스포츠 토토pg_dumpTemplate0. 이것은 모든 언어, 절차 등을 통해 추가를 의미합니다.Template1pg_dump. 결과적으로 복원 할 때 사용자 정의 된 경우Template1,에서 빈 데이터베이스를 만들어야합니다.Template0, 위의 예에서와 같이.
백업을 복원 한 후 실행하는 것이 좋습니다스포츠 토토 사이트 PostgreSQL : 문서 : 9.4 : Analyze16950_17020섹션 23.1.3and섹션 23.1.6자세한 내용. 많은 양의 데이터를로드하는 방법에 대한 더 많은 조언은PostgreSQL효율적으로 참조PostgreSQL : 문서 : 9.4 : 젠 토토를 채우는.
pg_dump한 번에 단일 데이터베이스 만 스포츠 토토하며 역할이나 테이블 스페이스에 대한 정보를 스포츠 토토하지 않습니다 (이들은 데이터베이스 당 대신 클러스터 전체에 있기 때문에). 데이터베이스 클러스터의 전체 내용을 편리하게 스포츠 토토하기 위해스포츠 토토 베트맨프로그램이 제공됩니다.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 | PSQLdbname
use분할.the분할명령을 사용하면 출력을 크기가 기본 파일 시스템에 허용되는 작은 파일로 분할 할 수 있습니다. 예를 들어, 1 메가 바이트의 덩어리를 만들려면 :
pg_dumpdbname| 분할 -B 1M -filename
다시로드 :
catfilename* | PSQLdbname
usepg_dump의 사용자 정의 스포츠 토토 형식.ifpostgresqlZlib압축 라이브러리가 설치된 경우, 사용자 정의 스포츠 토토 형식은 출력 파일에 쓰는대로 데이터를 압축합니다. 이것은 사용과 유사한 스포츠 토토 파일 크기를 생성합니다gzip, 그러나 테이블을 선택적으로 복원 할 수 있다는 이점이 추가되었습니다. 다음 명령은 사용자 정의 스포츠 토토 형식을 사용하여 데이터베이스를 스포츠 토토합니다.
pg_dump -fcdbname filename
사용자 정의 스포츠 토토는 스크립트가 아닙니다PSQL이지만 대신를 복원해야합니다.PG_RESTORE, 예 :
PG_RESTORE -Ddbname filename
참조postgresql : 문서 : 9.4 : 사설 토토andPostgreSQL : 문서 : 9.4 : 범퍼카 토토자세한 내용 참조 페이지.
매우 큰 데이터베이스의 경우 결합해야 할 수도 있습니다분할다른 두 가지 접근 방식 중 하나가 있습니다.
usepg_dump의 병렬 스포츠 토토 기능.큰 데이터베이스의 스포츠 토토 속도를 높이려면 사용할 수 있습니다pg_dump의 병렬 모드. 이것은 동시에 여러 테이블을 버립니다. 당신은와 병렬 처리 정도를 제어 할 수 있습니다.-j매개 변수. 병렬 스포츠 토토는 "디렉토리"아카이브 형식에만 지원됩니다.
pg_dump -jNum-f d -fout.dir dbname
사용할 수 있습니다PG_RESTORE -J스포츠 토토를 병렬로 복원합니다. 이것은 "사용자 정의"또는 "디렉토리"아카이브 모드의 모든 아카이브에 대해 작동합니다.pg_dump -j.