IBM Cloud Docs
Databases for PostgreSQL로 마이그레이션

Databases for PostgreSQL로 마이그레이션

기존 PostgreSQL 데이터베이스에서 IBM Cloud® Databases for PostgreSQL로 데이터를 마이그레이션하는 다양한 옵션이 있습니다. 여기서는 가장 단순하고 효과적인 옵션에 집중합니다. 시작하려면 psqlpg_dump 도구가 있도록 PostgreSQL이 로컬에 설치되어 있어야 합니다. 또한 꼭 필요한 것은 아니지만 Cloud Databases CLI를 사용하면 더 쉽게 연결하고 새 Databases for PostgreSQL 배치에 복원할 수 있습니다.

pg_dump

소스 데이터베이스에서 pg_dump 실행을 통해 데이터베이스를 재작성하는 데 사용할 수 있는 SQL 파일을 작성하십시오. 최소한 pg_dump는 호스트 이름(-h 플래그), 포트 번호(-p 플래그), 데이터베이스 이름(-d 플래그), 사용자 이름(-U 플래그) 및 덤프를 기록할 파일(또는 디렉토리 이름)(-f 플래그)을 가져옵니다.

예를 들어, 다음 명령은 admin 사용자를 사용하여 sl-eu-lon-2-portal.4.dblayer.com, 포트 17980에서 호스팅되는 PostgreSQL "compose" 데이터베이스를 덤프하고 결과를 dump.sql에 저장합니다.

pg_dump -h sl-eu-lon-2-portal.4.dblayer.com -p 17980 -d compose -U admin -f dump.sql

The pg_dump command has many options and it is recommended that you 공식 문서를 참조하세요 and 명령 참조 for a fuller view of its capabilities.

pg_dump의 출력 복원

pg_dump의 결과 출력을 새 Databases for PostgreSQL 배치로 업로드할 수 있습니다. 출력은 SQL이므로 간단하게 psql 명령을 통해 데이터베이스로 전송할 수 있습니다. admin 사용자로 가져오기를 수행하는 것이 좋습니다.

See the 로 연결 psql for details on how to connect as admin by using psql. psql 명령을 사용하여 연결하려면 admin 사용자의 연결 문자열과 TLS 인증서가 필요합니다. 인증서가 base64에서 디코딩되고 임의 로컬 파일로 저장되어야 합니다. 이전에 작성된 dump.sql 항목을 이름이 example-psql인 데이터베이스 배치에 가져오려면 psql 명령을 매개변수로 -f dump.sql에 함께 호출할 수 있습니다. 매개변수는 psql에 파일의 SQL문을 읽고 실행하도록 지시합니다. 이 명령은 다음과 유사합니다.

PGPASSWORD=yourpasswordhere PGSSLROOTCERT=cert.crt psql 'host=c7798cf6-e5d2-4513-b17f-3d3fa67d8291.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32484 dbname=ibmclouddb user=admin sslmode=verify-full' -f dump.sql

psql을 사용하여 연결 문서에 설명된 대로 Cloud Databases CLI 플러그인은 연결을 단순화합니다. 다음과 같이 이전 psql 가져오기를 수행할 수 있습니다.

ibmcloud cdb deployment-connections example-psql -s -- -f dump.sql

사용자가 지정되지 않으면 이 명령이 자동으로 admin 사용자를 사용합니다. 또한 대화식으로 비밀번호에 대한 프롬프트를 표시합니다. TLS 인증서가 자동으로 검색되고 사용됩니다. -s는 API에서 세부사항이 설정된 후 psql(또는 구성된 명령)을 시작합니다. -- 다음의 항목이 명령에 전달됩니다.

복원 프로세스가 실행되는 동안 데이터베이스 배치에 작성하는 변경사항에 대한 여러 메시지를 생성합니다.

Pg_restore를 사용한 추가 마이그레이션 옵션

sql 및 데이터를 별도로 포함하는 tar 파일이 있는 사용자의 경우 이전에 언급된 pg_restore 명령 이외에 psql 명령을 사용하여 데이터를 마이그레이션할 수 있습니다. pg_restore 명령의 예제는 다음과 같습니다.

 PGPASSWORD=yourpasswordhere PGSSLROOTCERT=cert.crt pg_restore -h c7798cf6-e5d2-4513-b17f-3d3fa67d8291.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud -p 32484 -U admin -F t -d ibmclouddb tarfile.tar