가) 대규모 PostgreSQL 데이터베이스 (최신 Ubuntu 서버에서 실행되는 버전 8.3)를 정기적으로 백업하는 가장 좋은 솔루션은 무엇입니까? 가장 현실 세계에서 작동 PostgreSQL 데이터베이스 복제 솔루션PostgreSQL 복원 및 백업 솔루션
답변
A. A. pg_dump는 기본적으로 삽입 문을 사용하지 않습니다. 기본적으로 COPY 명령을 사용합니다. -d 또는 --inserts의 명령 행 스위치는 pg_dump가 삽입 명령문을 내보내기에 넣게합니다. pg_dump 명령에 이러한 스위치가있는 경우 pg_dump가 COPY를 사용하도록 스위치를 제거하십시오.
B. Postgres의 다음 버전에서 그들은 simple replication을 즉시 사용하게 될 것입니다. 나는 8.4 버전이 곧 출시 될 것으로 생각한다. 가능하다면, 그렇게할만한 가치가있을 것입니다.
당신은 야간의 조합 아마도 Online WAL-Backup를 사용할 수 있습니다 무엇 그 고통스럽게 천천히 삽입 문
B)와 pg_dump의 말을하지 마십시오/일/주/매월 pg_dumps. 일주일에 한 번 전체 클러스터를 복사해야합니다.
복원 작업이 매우 효과적이며 일찍 복사하면 데이터가 손실되지 않습니다 (rsync는 효과적이기 때문에 가장 좋습니다).
속도는 최신 전체 클러스터 백업/복사본보다 늦은 WAL 만 적용하면되므로 속도가 좋습니다.
나는 거기에 단 하나의 대답이 있다고 생각합니다.
PITR 또는 특정 시점 복구. 그것은 기본적으로 트랜잭션 로그를 보관하는 것이며, 알고있는 한 최선의 방법으로 백업을 수행합니다.
8.1 용으로 몇 번 설정했지만 8.3에서는 같아야합니다.
이는 postgresql.conf에서 당신이해야 할 모든이 추가하는 것입니다 : 당신이 안전의 백업 소프트웨어를 백업 할 수 있습니다 지정된 디렉토리에
archive_command = 'test ! -f /path/to/your/backups/archive_logs/%f && cp -i %p /path/to/your/backups/archive_logs/%f </dev/null'
이 명령은 복사 아카이브 로그를하여 선택.
전체 백업을하려면 먼저 PostgreSQL에 백업을 수행해야한다고 알려야합니다. psql 명령 psql "SELECT pg_start_backup('my_backup');"
을 통해 수행됩니다. 그런 다음 rsync, cpio 또는 다른 도구를 사용하여 데이터 디렉토리를 복사하십시오. 데이터베이스가 많이 사용되는 경우 파일이 복사 중에 변경되므로 도구가 올바르게 처리하고 복구 할 수없는 것이 중요합니다.
복사가 끝나면 psql "SELECT pg_stop_backup();"
을 실행하여 PostgreSQL에서 다시 중지하도록 지정하십시오. 이러한 명령이 수행하는 작업은 백업이 시작된 보관 로그에 마커를 넣는 것입니다. 따라서 복원시 어디에서부터 읽기 시작해야하는지 알고 있습니다.
이 기술은 복제를 위해 대기 모드를 유지하는 데에도 사용할 수 있지만 읽을 수 없으며 긴급한 상황에서 인계 할 준비가되었습니다. 완전 핫 스탠바이가 8.4 버전으로 생각됩니다. 그때까지는 다른 옵션이 있다고 생각하지 않습니다.
PITR을 사용하면 가장 좋은 점은 보관 로그를 추가 할 시간을 지정할 수 있다는 것입니다.따라서 데이터베이스를 사고로부터 보호 할 수도 있습니다 (일부 데이터 제거 또는 변경)
- 1. 안드로이드 백업 및 복원
- 2. 데이터베이스 백업 및 복원
- 3. 백업 및 바이너리에서 복원
- 4. 캘린더 백업 및 복원
- 5. TortoiseSVN 백업 및 복원
- 6. 데이터베이스 백업 및 복원
- 7. Plone 인스턴스 백업 및 복원
- 8. 자바 데이터베이스 백업 및 복원
- 9. wss 3.0에서 백업 및 복원
- 10. SQL 서버 백업 및 복원
- 11. pgAdmin III PLAIN 백업 복원
- 12. 데이터베이스 백업/복원 프로세스
- 13. 이전 MySQL 백업 복원
- 14. "또는"근처에있는 Postgresql 복원 오류
- 15. SharePoint의 내용이없는 백업 복원
- 16. 백업 mysql을 복원
- 17. PostgreSQL 데이터베이스 복원
- 18. SMO 복원 개체를 사용하여 차등 백업 복원
- 19. TFS 2010 백업 및 복원 proceedure
- 20. SD 카드와 안드로이드 백업 및 복원 데이터베이스
- 21. 모든 resharper 설정을 백업 및 복원
- 22. Entity Framework를 통한 백업 및 복원
- 23. MySQL 백업 및 명령 줄에서 복원
- 24. C#에서 SQL Server 백업 및 복원
- 25. 백업 및 복원 mysql 데이터베이스 C#
- 26. 부동산 리눅스 백업 솔루션
- 27. 외부 ESENT 백업 전체 복원
- 28. Oracle 10g의 증분 백업 복원
- 29. NHibernate를 사용하여 XML로 백업/복원
- 30. 네트워크를 통한 데이터베이스 백업 복원
pg_dump는 기본적으로 insert 문을 사용하지 않습니다. 기본적으로 COPY 명령을 사용합니다. -d 또는 --inserts의 명령 행 스위치는 pg_dump가 삽입 명령문을 내보내기에 넣게합니다. COPY가 너무 느린 것을 의미합니까? 또는 -d 또는 --inserts 명령 스위치를 사용하고 있습니까? –
내가 삽입 문을 끌 수 있다는 것을 몰랐다. COPY는 OK이다. 나쁘다. – tropikalista