한 서버에서 다른 서버로 POSTGRESQL 데이터베이스를 이동하려고합니다. 그렇게하기 위해서, 나는 pg_dump를 수행했고 새로운 서버에서 새로운 데이터베이스를 생성 한 후, pg_dumped 파일을 복원하려고 시도했다. 대부분의 경우 복원은 괜찮 았지만 하나의 테이블은 복사되지 않았습니다.잘못된 UTF8 바이트 시퀀스에 문제가 있습니다.
pg_restore: [archiver (db)] COPY failed: ERROR: invalid byte sequence for encoding "UTF8": 0x92
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
지금, 데이터베이스 속성을 확인 후, 원래의 테이블이 SQL_ASC2으로 인코딩 된 것을 알 수 있지만, 내가 만든 새가 UTF8입니다. 인코딩에 대해서는 모르지만 ASC2와 UTF8 역 호환되지는 않습니까? 그래서, 왜 유효하지 않은 바이트 시퀀스가 있습니까?
새 데이터베이스를 SQL_ASC2를 사용하는 데이터베이스로 변경하면이 문제가 해결됩니까? 새 데이터베이스의 인코딩을 변경해야한다면 어떻게해야합니까? 방금 변경하거나, 처음부터 다시 시작하여 전체 데이터베이스를 다시 만들어야합니까?
도움 주셔서 감사합니다.
고마워, 내가 말한대로 정확히하지 않았지만 문제의 테이블에 대한 백업 파일을 만들 때 latin9를 선택한 다음 테이블을 복원했다. 데이터 중 일부는 조금 다르게 보입니다. 사실 일부는 아직 읽을 수 있지만 일부는 펑키 한 문자가 있지만 오히려 이전에는 펑키 한 형식이었습니다. – zermy