데이터베이스 스키마를 변경할 때 현재 데이터베이스 백업 워크 플로를 설정하려고합니다.pg_dump 및 pg_restore : 목차를 변경할 때 "오류 세그먼트 화 오류 (코어가 덤프 됨)"
pg_dump --data-only --compress=0 --encoding=utf8 -U my_user -F d -f backup_directory_name my_db_name
이 한 각 테이블의 파일과 내용의 테이블에 새 폴더를 만들고이 toc.dat
파일 : 데이터 (데이터 만) 내가이 명령을 실행을을 backuping에 대한
.
데이터베이스 스키마를 변경하고 있습니다. properties
테이블에 새로운 부울 열 isencrypted
을 추가 할 수 있습니다. 내 백업이 오래되어 스키마에 맞지 않습니다.
어떻게 진행합니까? 변경 데이터 전에 테이블 properties
에 대한
toc.dat
항목 :
[email protected]^@^@?^@^@^@COPY properties (key, createdat, updatedat, value) FROM stdin;
변경 데이터 전에 테이블 properties
에 대한 모든 항목을 잡고 관련 테이블 백업 파일 :
mail.subject.verification \N \N Mailadresse bestätigen
가 지금은 두 파일을 변경
에 맞게 새 스키마 :변경 데이터 후 테이블 properties
에 대한항목 : 변경 데이터 후
[email protected]^@^@?^@^@^@COPY properties (key, createdat, updatedat, value, isencrypted) FROM stdin;
관련 테이블 백업 파일 : 나는 지금 그 테이블을 복원하려고하면
mail.subject.verification \N \N Mailadresse bestätigen f
, 오류가 발생합니다. 복원-명령을 :
$ pg_restore -U my_user --data-only --table=properties --format=d -d my_db_name backup_directory_name
오류 :
Segmentation fault (core dumped)
내가 다시 그들이 스키마이기 때문에 음, 인서트는 분명히 실패 (오류가 없어 얼마나에 toc.dat
및 백업 파일을 변경하는 경우 다른).
내가 뭘 잘못하고 있니?
@a_horse_with_no_name 대신 수동으로
psql
를 사용하여 방금 테이블 동안 복원 생략하고 다음을 가져올 수toc.dat
파일을 해킹? –
열을 추가 한 후 백업을 만들면 어떨까요? 또는 덤프 용으로 일반 sql을 사용하면 편집 할 수 있습니다. – jira
JPA/hibernate (https://docs.jboss.org/hibernate/orm/5.0/manual/en-US/html/ch03.html)를 사용하고 있는데, 'hibernate.hbm2ddl'을 설정해야합니다.auto '값을'validate '에서'create '로 변경하면 스키마가 다시 만들어지면서 모든 데이터가 완전히 손실됩니다. 나는 다른 것들을 엉망으로 만들지 않도록 별도의 파일을 갖고 싶었다. 또한, 파일은 거대한 얻을 수도 –