데이터로 구체화 된 뷰를 백업 및 복원 할 수 있습니까?


10

구체화 된 뷰를 계산하기가 어렵습니다. 재 계산이 아닌 실제 저장된 데이터를 사용하여 백업 및 복원 할 수 있기를 원합니다.

PostgreSQL 9.4에서 가능합니까?

(대안은 실제 테이블을 작성하는 것이지만 "새로 고치기"는 더 어렵습니다)


3
copy데이터 (또는 기타 내보내기 유틸리티)의 일반 텍스트 덤프를 작성하는 데 사용할 수 있습니다 . 그래도 복원하는 방법을 모르겠습니다.
a_horse_with_no_name 7

psql -c "\ COPY ...."-h some_IP 데이터베이스를 사용하여 CSV를 COPY에서 원격 서버로 / 파이프에서 "파이프"할 수는 있지만 분명히 복원 할 위치에 테이블 구조를 작성해야합니다.
John Powell

답변:


8

실제로는 아닙니다. pg_dump 명령은 간단한 CREATE TABLE 및 INSERT 문 등을 생성한다는 것을 기억해야합니다. 따라서 pg_restore를 실행할 때 서버에서 CREATE 및 INSERT 문을 실행하고 데이터를 삽입하려면 "INSERT INTO MATERIALIZED VIEW"명령이 필요합니다. 바로 가기로 데이터를 가져 오는 것도보기의 "무결성"에 위험을 초래할 수 있으므로 수동 복원 프로세스에 잘못된 데이터를 삽입하여보기가 다르게 반환되지 않을 수 있습니다. 따라서 PostgreSQL이 구체화 된 뷰 데이터를 데이터베이스로 직접 복원하는 것을 수동으로 지원하지 않을 것입니다.

실제 데이터를 백업해야하는 경우 구체화 된 뷰 대신 테이블을 사용하고 예약 된 DELETE FROM / INSERT INTO 문을 테이블에 실행하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.