%EC%9C%BC%EB%A1%9C%20%EC%A0%84%EC%86%A1.png)
약 45GB의 PostgreSQL 10 데이터베이스가 포함된 온프레미스 SUSE 12 sp3 VM이 있습니다.
또한 PostgreSQL 10 데이터베이스가 포함된 SUSE 12 sp3 서버의 Google Cloud Platform(GCP) 이미지/인스턴스가 있는데 아직 db 데이터가 없습니다.
GCP 디렉터리 구조 및 설정은 온프레미스 VM 파일 디렉터리 및 설정과 약간 다르지만 둘 다 PostgreSQL 10입니다. GCP 설정/설치/디렉터리 구조가 더 마음에 들어서 변경하고 싶지 않습니다.
온프레미스 DB에서 GCP DB로 최대한 많은 데이터를 전송하고 싶습니다. 완료되면 데이터베이스는 동일해야 하지만 디렉터리 구조는 달라집니다.
저는 GCP를 처음 사용합니다. 이것은 테스트 드라이브입니다. 내 새 DB는 지역 스토리지(니어라인, 콜드라인 또는 다중 지역이 아님)에 있어야 합니다.
나의 현재 전략은 다음과 같습니다.
pg_dumpall > db.out
내 이전 온프레미스 DB에서 사용db.out
내 워크스테이션의 매핑된 드라이브를 통해 액세스할 수 있는 Windows VM 파일 서버에 해당 파일을 저장합니다 .- 내 워크스테이션을 통해 GCP 콘솔에서 저장소로 이동하여 내 버킷을 선택하고 파일을 업로드한 다음 내 인스턴스가 있는 버킷에 db.out 파일을 업로드합니다.
psql -f db.out postgres
데이터, 역할 등을 새 GCP 인스턴스에 로드하는 데 사용됩니다 .
그게 확실한 방법인가요? 디렉토리 구조가 달라도 작동합니까? 더 좋은 방법이 있나요? 트릭이나 함정?
링크:http://www.postgresql.org/docs/current/static/app-pg-dumpall.html
(아직도 유용한 GCP 링크를 찾고 있어서 질문이 생겼습니다.)
"디렉토리 구조"는 서버 디렉토리 구조를 의미합니다. GCP 인스턴스에 PostgreSQL 10을 원하는 방식으로 다르게 설치했기 때문에 디렉터리 구조가 변경되었습니다.
감사해요!
추신 - 이것은 SO에 있었지만 거기에서 삭제하고 더 많은 관심을 끌기 위해 질문을 여기로 옮겼습니다. 다른 질문이 이동되거나 이전되는 것을 보았지만 적어도 현재 신용 수준에서는 그렇게 할 수 있는 방법을 찾지 못했습니다. 또한 Google-Cloud 태그를 팔로우하는 사람이 두 명뿐일 때까지 Stack Exchange 사이트 Database Administrators에 게시하려고 했습니다. 이와 관련하여 제안을 환영합니다.
답변1
데이터베이스를 SQL로 덤프하고 원격 시스템으로 전송한 다음 SQL을 통해 데이터베이스를 가져오는 것은 원하는 것을 달성하는 완전히 일반적인 방법입니다. 온디스크 구조는 실제로 문제가 되지 않습니다.