프로덕션을 위한 PostgreSQL용 Cloud SQL 설정

이 문서에서는 프로덕션에 사용할 수 있도록 PostgreSQL용 Cloud SQL을 설정하는 방법을 설명합니다. PostgreSQL용 Cloud SQL은 Google Cloud 생태계와 통합된 완전 관리형 RDBMS 서비스입니다. PostgreSQL용 Cloud SQL은 다양한 주요 특징과 기능을 제공합니다.

  • VPC와 저장 및 전송 데이터의 자동 데이터 암호화를 포함하여 Google Cloud의 관리형 보안 기능을 사용하여 여러 애플리케이션 및 사용자를 전역으로 제공합니다.
  • 기본 인스턴스와 대기 인스턴스를 사용하는 고가용성 아키텍처와 인스턴스 간의 자동 장애 조치를 지원합니다.
  • 같은 데이터베이스 클러스터에서 기본 노드와 읽기-복제본 간의 읽기/쓰기 분리를 사용 설정하여 분산형 데이터베이스 워크로드를 지원합니다.
  • Cloud Storage 및 자동 데이터베이스 유지보수와 통합된 자동 백업을 지원합니다.
  • 다양한 온라인 트랜잭션 처리(OLTP) 워크로드를 지원합니다.

PostgreSQL용 Cloud SQL 인스턴스 배포

Google Cloud Console 또는 Google Cloud CLI를 사용해서 간단한 단계로 PostgreSQL용 Cloud SQL 인스턴스를 설정할 수 있습니다. 두 방법 모두 여기에서 설명합니다.

콘솔

  1. Google Cloud Console에서 SQL>인스턴스 페이지로 이동합니다.

    인스턴스로 이동

  2. 인스턴스 만들기를 클릭한 후 PostgreSQL 선택을 클릭합니다.

  3. PostgreSQL 인스턴스 페이지에서 다음 세부정보를 제공합니다.

    • 인스턴스 ID: 인스턴스의 이름을 입력합니다. 인스턴스 이름은 영구적이며, 나중에 변경할 수 없습니다.
    • 기본 사용자 비밀번호: postgres 사용자 비밀번호를 기본 관리자 계정으로 선택합니다. (PostgreSQL 인스턴스 배포 후 추가 사용자를 만들 수 있습니다.)
    • 리전영역: 리전 및 영역을 선택합니다. 데이터 처리를 위한 지연 시간을 줄이기 위해서는 연관된 Google Cloud 서비스(예: 애플리케이션)와 동일한 리전에 또는 지리적으로 사용자에게 인접한 위치에 PostgreSQL 인스턴스를 배포하는 것이 가장 좋습니다. 리전을 선택한 다음에는 나중에 이를 수정할 수 없습니다.
    • 데이터베이스 버전: 최신 버전을 선택하거나, 필요한 경우 가장 최근에 제공되는 버전을 선택합니다.
  4. 만들기를 클릭하여 PostgreSQL 인스턴스를 배포합니다. 또는 구성 옵션 표시를 클릭하여 추가 구성을 설정합니다.

    PostgreSQL 인스턴스를 만듭니다.

    • 추가 구성 옵션:

      • 연결: 일반적으로 공개 IP 주소, 비공개 IP 주소, 승인된 네트워크를 통해 PostgreSQL 인스턴스를 네트워크에 연결합니다. 승인된 네트워크는 어떤 클라이언트의 특정 IP 주소의 연결을 승인하는 것과 같이 원격 연결 설정을 위해 설정할 수 있는 허용되는 연결입니다.

        네트워크 연결을 설정합니다.

      • 머신 유형 및 스토리지: 할당된 리소스(vCPU, RAM), 스토리지 유형(SSD 또는 HDD), 스토리지 용량에 따라 머신 유형을 선택합니다. 스토리지 용량을 늘리면 데이터베이스에서 지원되는 디스크 처리량(MB/s)과 읽기 및 쓰기 IOP가 늘어납니다. 예상 디스크 처리량 및 IOPS 요구사항에 따라 스토리지 용량을 조정합니다.

        스토리지 용량 10GB스토리지 용량 100GB

      • 자동 백업 및 고가용성: 기본적으로 사용 설정되는 자동 백업을 사용하여 자동 백업을 수행할 기간을 정의합니다. 또한 미리 쓰기 로그를 사용하는 point-in-time recovery 옵션도 읽기 복제본을 만드는 데 필요합니다. 이 로그는 정기적으로 업데이트되고 저장공간을 사용합니다. 예기치 않은 스토리지 문제가 발생하지 않도록 하려면 point-in-time recovery를 사용할 때 자동 스토리지 증가를 사용 설정하는 것이 좋습니다. 고가용성은 기본적으로 사용 중지되어 있습니다(다중 영역). 자동 장애 조치를 사용 설정하려면 고가용성(리전) 옵션을 선택합니다.

      • 플래그: 이 설정은 인스턴스에 대해 설정 및 매개변수를 제어하기 위한 Cloud SQL 방법을 지정합니다. 이것은 비관리형 PostgreSQL 인스턴스의 postgresql.conf 파일과 동일합니다. 전체 목록은 제품 문서를 참조하세요. 플래그 값을 변경하거나 새 플래그를 설정하려면 인스턴스를 다시 시작해야 할 수 있습니다.

      • 유지보수: 이 섹션에서는 버그 수정 및 부 버전 업그레이드를 포함하여 유지보수 작업의 기본 기간을 지정합니다. 유지보수 작업에는 일반적으로 인스턴스 재시작이 필요하며 짧은 서비스 중단이 발생할 수 있습니다. 가입하여 예정된 유지보수 이벤트에 대한 이메일 알림을 받을 수 있습니다.

      • 라벨: 이 섹션에서는 예를 들어 다음과 같이 PostgreSQL 인스턴스를 분류하기 위해 키-값 쌍을 정의합니다.

        PostgreSQL 인스턴스를 분류하는 키-값 쌍을 정의합니다.

gcloud

  1. PostgreSQL 인스턴스를 만듭니다.

    gcloud sql instances create postgresql01 \
        --cpu=2 \
        --memory=7680MB \
        --region=us-central1 --zone=us-central1-a
    
  2. PostgreSQL 기본 사용자의 비밀번호를 할당합니다(구문 예시).

    gcloud sql users set-password postgres \
        --instance INSTANCE_NAME \
        --password PASSWORD
    

    다음과 같은 추가 옵션을 지정할 수 있습니다.

    • 데이터베이스 버전: 지원되는 PostgreSQL 버전 중 하나입니다.
    • 스토리지 유형: 스토리지 유형으로 SSD 또는 HDD가 사용됩니다.
    • 스토리지 용량: 인스턴스의 초기 스토리지 설정입니다.
    • 자동 스토리지 증가: 여유 공간이 부족할 때 스토리지를 추가하기 위한 Cloud SQL 자동화입니다.
    • 고가용성: Cloud SQL 고가용성입니다.
    • 자동 백업: 백업의 시작 시간에 해당하는 기간입니다.
    • Point-in-time recovery: Point-in-time recovery 및 미리 쓰기 로깅입니다.
    • 유지보수 기간: Cloud SQL가 작업 중단을 일으키는 유지보수를 수행할 수 있는 1시간 동안의 기간입니다.
    • 유지보수 시간: PostgreSQL 인스턴스에서 업데이트를 수행하는 데 선호되는 시간입니다. 이전 업데이트의 경우 미리보기를 지정하고 이후 업데이트의 경우 프로덕션을 지정할 수 있습니다.
    • 데이터베이스 플래그: 설정 및 매개변수를 제어하는 PostgreSQL 데이터베이스 플래그입니다.

    다음 gcloud 명령어는 몇 가지 추가 옵션을 사용하여 PostgreSQL용 Cloud SQL 인스턴스를 만듭니다.

    gcloud sql instances create postgresql01 \
        --cpu=2 \
        --memory=7680MB \
        --region=us-central1 \
        --zone=us-central1-a \
        --database-version=POSTGRES_12 \
        --storage-type=SSD \
        --storage-size=100 \
        --storage-auto-increase \
        --availability-type=regional \
        --backup-start-time=23:30 \
        --enable-point-in-time-recovery \
        --maintenance-window-day=sun \
        --maintenance-window-hour=11 \
        --maintenance-release-channel=production \
        --database-flags max_connections=100
    

    자세한 내용은 인스턴스 만들기를 참조하세요.

인스턴스 선택

인스턴스 선택 또는 크기 조정에는 PostgreSQL용 Cloud SQL에서 Oracle® 워크로드를 지원할 수 있는 머신 유형을 선택하는 과정이 포함됩니다. 인스턴스 유형은 다음과 같은 두 가지 주요 그룹으로 구분됩니다.

  • 공유 코어 머신: 비용 효율적입니다.
  • 전용 코어 인스턴스: 여러 vCPU 및 메모리 비율을 지원합니다.

인스턴스 유형에 대한 자세한 내용은 Cloud SQL 가격 책정을 참조하세요.

인스턴스 크기를 조정하려면 먼저 소스 데이터베이스에서 할당 및 사용되는 리소스를 분석합니다. V$OSSTAT 시스템 뷰 또는 Oracle AWR 보고서에서 Oracle 데이터베이스 리소스 설정을 가져올 수 있습니다(다음 예시 참조).

실제 메모리(데이터베이스 서버의 실제 메모리의 총 바이트 수):

SQL> SELECT ROUND(MAX(VALUE)/1024/1024/1024) AS MEM_SIZE_GB
     FROM V$OSSTAT
     WHERE STAT_NAME = 'PHYSICAL_MEMORY_BYTES';

할당된 메모리:

SQL> SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER
     WHERE NAME LIKE '%sga%' OR NAME LIKE '%memory%';

CPU 코어(사용 가능한 CPU 코어 수):

SQL> SELECT VALUE FROM V$OSSTAT
     WHERE STAT_NAME = 'NUM_CPU_CORES';

CPU 코어(V$LICENSE 뷰를 사용하여 Oracle 인스턴스에서 식별):

SQL> SELECT CPU_CORE_COUNT_CURRENT FROM V$LICENSE;

Oracle AWR 보고서 리소스 예시(Oracle AWR 보고서는 특정 Oracle 인스턴스 워크로드 특성에 대한 추가 통계를 제공할 수 있음):

Oracle AWR 보고서 리소스 예시

소스 데이터베이스의 리소스 정보가 있다면 가장 가까운 일치하는 Cloud SQL 인스턴스 유형을 선택하고 벤치마크를 실행하는 것이 좋습니다. 벤치마크 결과를 통해 인스턴스 선택을 마무리할 수 있습니다.

고가용성 구성

Oracle의 Data Guard와 비슷한 재해 복구 솔루션을 구현하기 위해 PostgreSQL용 Cloud SQL은 클러스터의 기본 인스턴스에서 해당 대기 인스턴스로의 자동 장애 조치를 제공하는 고가용성 기능을 제공합니다. 대기 인스턴스는 기본 인스턴스와 동일한 리전에 있는 다른 영역에 있습니다. 대기 인스턴스는 기본 인스턴스와 대기 인스턴스의 영구 디스크 간에 동기 복제를 통해 동기화 상태로 유지됩니다. 이 방법을 사용하면 기본 인스턴스에 대한 모든 데이터 수정 내용이 대기 인스턴스에도 적용됩니다.

응답하지 않는 인스턴스 또는 영역 수준 장애와 같은 기본 장애가 발생한 경우 Cloud SQL은 자동 장애 조치를 수행합니다. 기본 인스턴스는 1초 간격으로 발생하는 하트비트로 모니터링됩니다. 기본 인스턴스에서 하트비트 수신이 멈추고 약 60초가 지나면 장애 조치가 활성화됩니다. 이 시점에서 기본 인스턴스가 대기 인스턴스로 장애 조치되고, 애플리케이션 또는 클라이언트에 대한 데이터 액세스가 투명하게 제공됩니다. 기존 읽기 복제본은 작동 가능한 상태로 유지됩니다. Active Data Guard와 달리 대기 인스턴스는 대기 역할을 하는 동안 읽기를 위해 열 수 없습니다. Cloud SQL에서는 읽기-복제본만 사용하여 기본 항목에서 읽기를 오프로드할 수 있습니다.

인스턴스를 만들 때 또는 기존 PostgreSQL 인스턴스에 대해 PostgreSQL용 Cloud SQL 고가용성(HA) 기능을 사용 설정할 수 있습니다. 그 단계는 다음과 같습니다.

콘솔

  1. 인스턴스 만들기 페이지에서 구성 옵션 표시>자동 백업 및 고가용성>가용성을 클릭한 후 고가용성(리전) 옵션을 선택합니다.
  2. 기존 PostgreSQL 인스턴스에 대해 이전 단계를 수행하여 PostgreSQL 인스턴스를 수정합니다. 이를 위해서는 데이터베이스를 재부팅해야 합니다.
  3. 테스트 목적으로 장애 조치를 시작하려면 Cloud SQL 페이지로 이동하여 장애 조치를 클릭합니다.

    테스트를 위해 장애 조치를 시작합니다.

    동일한 방식으로 장애 조치를 사용 설정할 수 있습니다.

gcloud

  1. availability-type 매개변수를 regional로 설정하여 HA를 사용 설정합니다.

    gcloud sql instances create postgresql01 \
        --cpu=2 \
        --memory=7680MB \
        --region=us-central1 \
        --zone=us-central1-a \
        --availability-type=regional
    
  2. 기존 PostgreSQL 인스턴스에 HA가 구성되어 있는지 확인합니다.

    gcloud sql instances describe INSTANCE_NAME
    

    이 명령어의 출력에 availabilityType: REGIONAL이 포함된 경우 HA가 이미 사용 설정된 것입니다. 출력에 availabilityType: ZONAL이 포함된 경우 HA가 구성되어 있지 않으며 patch 명령어를 사용하여 사용 설정할 수 있습니다.

    gcloud sql instances patch INSTANCE_NAME --availability-type REGIONAL
    
  3. 기본 항목에서 대기 항목으로의 장애 조치 테스트를 시작합니다.

    gcloud sql instances failover PRIMARY_INSTANCE_NAME
    

    장애 복구를 수행하려면 새 기본 항목에서 동일한 장애 조치 명령어를 실행하세요.

관리자 및 계정

두 가지 기본 PostgreSQL 사용자 계정에 PostgreSQL용 Cloud SQL 설치가 포함됩니다. 이러한 계정은 postgrescloudsqlimportexport입니다.

postgres 계정

postgres 계정은 관리자 계정이며 Cloud PaaS에서 Oracle SYS 또는 SYSTEM 사용자와 동일합니다. PostgreSQL용 Cloud SQL이 관리형 서비스이기 때문에 Oracle SYS 또는 SYSTEM 사용자와 달리 postgres 사용자는 고급 권한이 필요한 특정 시스템 프로시저 및 테이블에 대한 액세스가 제한됩니다.

postgres 사용자는 cloudsqlsuperuser 역할의 일부이며 CREATEROLE, CREATEDB, LOGIN과 같은 속성(권한)을 가집니다. SUPERUSER 또는 REPLICATION 속성은 없습니다.

cloudsqlimportexport 계정

cloudsqlimportexport 계정은 CSV 가져오기/내보내기 작업에 필요한 최소 권한 집합으로 생성됩니다. 이러한 작업 수행을 위해 고유 사용자를 만들 수도 있지만, 이렇게 하지 않으면 기본 cloudsqlimportexport 사용자가 사용됩니다. cloudsqlimportexport 사용자는 시스템 사용자이므로 이를 직접 사용할 수 없습니다.

계정 관리(비밀번호 추가, 삭제, 변경)

계정 관리에는 새 사용자 계정 만들기, 기존 계정의 비밀번호 수정, 더 이상 필요하지 않은 계정 삭제가 포함됩니다. Google Cloud 콘솔, gcloud 도구, PostgreSQL 클라이언트를 통해 이러한 계정 작업을 수행할 수 있습니다.

콘솔

  1. Google Cloud Console에서 기존 계정을 나열합니다. Cloud SQL Console로 이동하고 PostgreSQL 인스턴스>사용자를 선택합니다.

    기존 계정을 나열합니다.

  2. 계정 옆에 있는 점 3개(더보기) 아이콘을 클릭하여 계정의 비밀번호를 수정하거나 계정을 완전히 삭제합니다.

    이 화면에서 사용자 계정 만들기를 클릭하면 새 PostgreSQL 사용자를 만들 수 있습니다.

    비밀번호를 수정하고 계정을 삭제합니다.

gcloud

  1. 기존 사용자 계정을 나열합니다.

    gcloud sql users list --instance=postgresql01
    

    출력은 다음과 비슷합니다.

    NAME       HOST
    Postgres
    
  2. appuser 사용자 계정을 만들고 비밀번호를 설정하고 appuser를 삭제합니다.

    gcloud sql users create appuser \
        --instance=postgresql01 --password=PASSWORD
    
    gcloud sql users set-password appuser \
        --host=% --instance=postgresql01 --prompt-for-password
    
    gcloud sql users delete appuser --instance=postgresql01
    

PostgreSQL

  • 표준 PostgreSQL 클라이언트에서 직접 동일한 작업을 수행할 수 있습니다. 예를 들면 다음과 같습니다.

    postgres=> create user appuser with login password 'my_password';
    
    postgres=> alter user appuser password 'my_password';
    
    postgres=> drop user appuser;
    

    PostgreSQL 클라이언트를 통해 GRANT/REVOKE 명령어를 사용하여 PostgreSQL 데이터베이스 수준 권한(예: 특정 테이블 또는 뷰에서 읽기)을 구성할 수 있습니다.

모니터링 및 경고

Cloud Logging은 Google Cloud의 주요 로깅 도구입니다. PostgreSQL용 Cloud SQL과 같은 리소스에 대해 다양한 모니터링 로그를 수집하고 확인하기 위해 사용됩니다.

Cloud Logging을 사용하면 다음 스크린샷에 표시된 것처럼 이벤트 수준(예: 위기, 오류, 경고), 이벤트 기간, 자유 텍스트 검색에 따라 필터링된 PostgreSQL용 Cloud SQL의 로그를 볼 수 있습니다.

Cloud Logging에서 로그 보기

PostgreSQL 데이터베이스 인스턴스 모니터링

Oracle의 주요 모니터링 도구는 Enterprise Manager와 Grid/Cloud Control입니다. 이러한 도구를 사용하면 데이터베이스 세션 및 SQL 문 수준에서 실시간 데이터베이스 인스턴스 모니터링을 수행할 수 있습니다.

PostgreSQL용 Cloud SQL은 Google Cloud Console을 통해 이와 비슷한 모니터링 기능을 제공합니다. 여기에서 CPU 사용률, 스토리지 사용량, 메모리 사용량, 읽기/쓰기 작업, 활성 연결, 초당 트랜잭션 수, 인그레스/이그레스 바이트 수를 비롯하여 데이터베이스 인스턴스에 대한 요약 보기를 얻을 수 있습니다. Google Cloud Observability는 자동 장애 조치 요청과 기본 및 읽기 복제본 사이의 복제 지연과 같은 PostgreSQL용 Cloud SQL의 추가 모니터링 측정항목을 제공합니다.

다음 예시 그래프는 이전 6시간 동안의 초당 트랜잭션 수 그래프를 보여줍니다.

이전 6시간 동안의 초당 트랜잭션 수 그래프입니다.

읽기-복제본 모니터링

기본 인스턴스를 모니터링할 때와 동일한 방식으로 Google Cloud Console을 통해 읽기 복제본을 모니터링할 수 있습니다. 기본 인스턴스와 읽기-복제본 인스턴스 간의 복제 상태를 확인하기 위한 특정 측정항목이 있습니다. 이러한 측정항목은 Google Cloud Console에서 읽기 복제본 인스턴스 개요 페이지를 채우기 위해 사용됩니다.

또는 명령줄에서 복제 상태를 확인할 수 있습니다.

gcloud sql instances describe REPLICA_NAME

세 번째 옵션은 PostgreSQL 클라이언트를 통해 복제본 상태를 확인하는 것입니다. 다음 PostgreSQL 명령어는 읽기-복제본 상태를 확인합니다.

postgres=> \x on
Expanded display is on.
postgres=> select * from pg_stat_replication;
-[ RECORD 1 ]----+-------------------------------------------
pid              | 74733
usesysid         | 16388
usename          | cloudsqlreplica
application_name | PROJECT_ID:REPLICA_NAME
client_addr      | REPLICA_IP
client_hostname  |
client_port      | 41660
backend_start    | 2020-09-28 06:59:38.783981+00
backend_xmin     |
state            | streaming
sent_lsn         | 0/2939FFA8
write_lsn        | 0/2939FFA8
flush_lsn        | 0/2939FFA8
replay_lsn       | 0/2939FFA8
write_lag        |
flush_lag        |
replay_lag       |
sync_priority    | 0
sync_state       | async
reply_time       | 2020-09-28 07:17:52.714969+00
postgres=>

PostgreSQL 데이터베이스 모니터링

이 섹션에서는 PostgreSQL DBA에 대해 고려되는 루틴인 몇 가지 추가적인 모니터링 태스크에 대해 설명합니다.

세션 모니터링

Oracle 세션은 'V$' 뷰라는 동적 성능 뷰를 쿼리하여 모니터링됩니다. V$SESSIONV$PROCESS 뷰는 일반적으로 SQL 문을 통해 현재 데이터베이스 활동에 대한 실시간 통계를 얻는 데 사용됩니다. PostgreSQL 명령어 및 SQL 문 모두 비슷한 방식으로 PostgreSQL에서 세션 활동을 모니터링할 수 있습니다.

PostgreSQL pg_stat_activity 동적 뷰는 현재 데이터베이스 세션 활동에 대한 자세한 정보를 제공합니다.

postgres=> \x on
postgres=> select * from pg_stat_activity where backend_type = 'client backend' and usename != 'cloudsqladmin';
-[ RECORD 1 ]----+-----------------------------------------------------------------------------------------------------
datid            | 14052
datname          | postgres
pid              | 74750
usesysid         | 16389
usename          | postgres
application_name | psql
client_addr      | CLIENT_IP
client_hostname  |
client_port      | 51904
backend_start    | 2020-09-28 07:01:30.214099+00
xact_start       | 2020-09-28 07:28:48.982115+00
query_start      | 2020-09-28 07:28:48.982115+00
state_change     | 2020-09-28 07:28:48.982117+00
wait_event_type  |
wait_event       |
state            | active
backend_xid      |
backend_xmin     | 88513
query            | select * from pg_stat_activity where backend_type = 'client backend' and usename != 'cloudsqladmin';
backend_type     | client backend
postgres=>

긴 트랜잭션 모니터링

성능 문제를 일으킬 수 있는 긴 실행 트랜잭션을 식별하려면 pg_stat_activity 동적 뷰를 쿼리합니다. query_startstate와 같은 열에 적합한 필터를 적용하여 장기 실행 쿼리를 식별할 수 있습니다.

잠금 모니터링

pg_locks 동적 뷰를 통해 데이터베이스 잠금을 모니터링할 수 있습니다. 이 뷰는 성능 문제를 일으킬 수 있는 잠금 경합에 대한 실시간 정보를 제공합니다.

알림

모니터링 및 로깅 외에도 알림을 사용할 수 있습니다. 조건에 대한 알림을 만들 수도 있습니다.

확장

PostgreSQL용 Cloud SQL은 세로 및 가로 확장 옵션을 모두 지원합니다.

세로로 확장하려면 인스턴스에 할당되는 CPU 및 메모리 수 증가와 같이 Cloud SQL 인스턴스에 리소스를 더 추가합니다. 인스턴스의 네트워크 처리량은 CPU 및 메모리에 선택한 값에 따라 달라집니다.

Cloud SQL은 최대 30TB의 저장공간을 지원합니다. 스토리지 용량을 추가하면 일반적으로 인스턴스의 처리량 및 디스크 IOPS가 증가합니다. Cloud SQL 인스턴스의 네트워크 처리량에는 쿼리 콘텐츠, 계산, 데이터베이스에 저장되지 않는 기타 데이터뿐만 아니라 데이터에 대한 읽기/쓰기(디스크 처리량)가 포함됩니다. Cloud SQL 인스턴스를 세로로 확장할 때는 이러한 요소를 고려하는 것이 중요합니다.

읽기 복제본을 만들어서 가로로 확장합니다. 읽기 복제본을 사용하면 기본 인스턴스의 성능 및 가용성에 영향을 주지 않고 읽기 워크로드를 개별 Cloud SQL 인스턴스로 확장할 수 있습니다.

백업 및 복구

PostgreSQL용 Cloud SQL에는 온디맨드 백업과 자동 백업의 두 가지 데이터베이스 백업 방법이 있습니다. 언제든지 온디맨드 백업을 수행할 수 있으며 삭제하기 전까지 유지됩니다. 자동 백업은 4시간의 백업 기간을 사용하며 7일 동안 유지됩니다.

기존 데이터를 덮어쓰거나 새 인스턴스를 사용하여 PostgreSQL용 Cloud SQL 데이터베이스 백업을 동일한 인스턴스로 복원할 수 있습니다. 또한 PITR(point-in-time recovery)이 설정되어 있고 자동 백업 옵션이 사용 설정되어 있는 경우 PostgreSQL용 Cloud SQL를 사용하면 PostgreSQL 데이터베이스를 특정 시점으로 복원할 수 있습니다.

PostgreSQL용 Cloud SQL은 데이터베이스 클론 기능을 제공합니다. 클론은 기본 인스턴스에서 만들어야 합니다. 즉, 복제본에서 만들 수 없습니다. Google Cloud Console 또는 gcloud CLI에서 데이터베이스 백업, 복원, 클론을 실행할 수 있습니다.

자동화

Cloud SQL Admin API를 사용하여 PostgreSQL용 Cloud SQL 인스턴스 관리를 완전히 자동화할 수 있습니다. Cloud SQL Admin API는 Instances, Databases, Users, Flags, Operations, SslCerts, Tiers, BackupRuns와 같은 여러 유형의 리소스를 제어하기 위한 REST API입니다. 자세한 내용은 API 문서를 참조하세요.

다음 단계