Babelfish 클러스터를 새 버전으로 업그레이드 - Amazon Aurora

Babelfish 클러스터를 새 버전으로 업그레이드

새로운 버전의 Babelfish는 버전 13.4 이후 Aurora PostgreSQL 데이터베이스 엔진의 일부 새 릴리스로 제공됩니다. Babelfish는 새로운 릴리스마다 버전 번호가 고유합니다. Aurora PostgreSQL과 마찬가지로 Babelfish는 버전에 major.minor.patch 명명 체계를 사용합니다. 예를 들어 첫 번째 Babelfish 릴리스인 Babelfish 버전 1.0.0은 Aurora PostgreSQL 13.4.0의 일부로 제공되었습니다.

Babelfish는 별도의 설치 과정이 필요하지 않습니다. Babelfish for Aurora PostgreSQL DB 클러스터 생성에서 설명한 것처럼 Turn on Babelfish(Babelfish 켜기)는 Aurora PostgreSQL DB 클러스터를 생성할 때 선택하는 옵션입니다.

마찬가지로 Babelfish는 지원하는 Aurora DB 클러스터와 별도로 업그레이드할 수 없습니다. 기존 Babelfish for Aurora PostgreSQL DB 클러스터를 새 버전의 Babelfish로 업그레이드하려면 사용하려는 Babelfish 버전을 지원하는 새 버전으로 ㅣAurora PostgreSQL DB 클러스터를 업그레이드합니다. 업그레이드 절차는 다음과 같이 Babelfish 배포를 지원하는 Aurora PostgreSQL 버전에 따라 달라집니다.

메이저 버전 업그레이드

Aurora PostgreSQL 15.2 버전으로 업그레이드하기 전에 아래의 Aurora PostgreSQL 버전을 Aurora PostgreSQL 14.6 이상 버전으로 업그레이드해야 합니다.

  • Aurora PostgreSQL 13.8 이상의 모든 버전

  • Aurora PostgreSQL 13.7.1 이상의 모든 마이너 버전

  • Aurora PostgreSQL 13.6.4 이상의 모든 마이너 버전

Aurora PostgreSQL 14.6 이상 버전을 Aurora PostgreSQL 15.2 이상 버전으로 업그레이드할 수 있습니다.

Aurora PostgreSQL DB 클러스터를 새 메이저 버전으로 업그레이드하려면 몇 가지 예비 작업이 필요합니다. 자세한 내용은 메이저 버전 업그레이드를 수행하는 방법 섹션을 참조하세요. Babelfish for Aurora PostgreSQL DB 클러스터를 성공적으로 업그레이드하려면 새 Aurora PostgreSQL 버전에 대한 사용자 지정 DB 클러스터 파라미터 그룹을 생성해야 합니다. 이 새 파라미터 그룹은 업그레이드 중인 클러스터와 Babelfish 파라미터 설정이 동일해야 합니다. 자세한 내용과 메이저 버전 업그레이드 소스 및 대상 테이블은 Babelfish를 새 메이저 버전으로 업그레이드를 참조하세요.

마이너 버전 업그레이드 및 패치

마이너 버전 및 패치는 업그레이드를 위해 새 DB 클러스터 파라미터 그룹을 생성할 필요가 없습니다. 마이너 버전 및 패치는 자동 적용이든 수동 적용이든 마이너 버전 업그레이드 절차를 따르면 됩니다. 자세한 내용과 버전 소스 및 대상 테이블은 Babelfish를 새 마이너 버전으로 업그레이드를 참조하세요.

참고

메이저 또는 마이너 업그레이드를 수행하기 전에 대기 중인 모든 유지 관리 작업을 Babelfish for Aurora PostgreSQL 클러스터에 적용하세요.

Babelfish를 새 마이너 버전으로 업그레이드

새 마이너 버전에는 이전 버전과 호환되는 변경 사항만 포함됩니다. 패치 버전에는 릴리스 후 마이너 버전에 대한 중요한 수정 사항이 포함되어 있습니다. 예를 들어 Aurora PostgreSQL 13.4의 첫 번째 릴리스에 대한 버전 레이블은 Aurora PostgreSQL 13.4.0이었습니다. Aurora PostgreSQL 13.4.1, 13.4.2 및 13.4.4를 포함하여 현재까지 해당 마이너 버전에 대한 여러 패치가 릴리스되었습니다. 해당 버전의 Aurora PostgreSQL 릴리스 정보 상단에 있는 Patch releases(패치 릴리스) 목록에서 각 Aurora PostgreSQL 버전에 사용 가능한 패치를 찾을 수 있습니다. 예는 Aurora PostgreSQL 릴리스 정보에서 PostgreSQL 14.3을 참조하세요.

Aurora PostgreSQL DB 클러스터가 Auto minor version upgrade(자동 마이너 버전 업그레이드) 옵션으로 구성된 경우 Babelfish for Aurora PostgreSQL DB 클러스터는 클러스터의 유지 관리 기간 동안 자동으로 업그레이드됩니다. 마이너 버전 자동 업그레이드(AmVU) 및 사용 방법에 대한 자세한 내용은 Aurora DB 클러스터 마이너 버전 자동 업그레이드 단원을 참조하세요. 클러스터에서 AmVU를 사용하지 않는 경우 유지 관리 작업에 응답하거나 새 버전을 사용하도록 클러스터를 수정하여 Babelfish for Aurora PostgreSQL DB 클러스터를 새 마이너 버전으로 수동 업그레이드할 수 있습니다.

설치할 Aurora PostgreSQL 버전을 선택하고 AWS Management Console에서 기존 Aurora PostgreSQL DB 클러스터를 보면 버전에 major.minor 숫자만 표시됩니다. 예를 들어 Aurora PostgreSQL 13.4가 있는 기존 Babelfish for Aurora PostgreSQL DB 클러스터에 대한 콘솔의 다음 이미지는 클러스터를 Aurora PostgreSQL의 새로운 마이너 릴리스인 버전 13.7로 업그레이드하도록 권장합니다.

Babelfish가 실행되는 Aurora PostgreSQL DB 클러스터에 사용할 수 있는 마이너 버전 업그레이드.

패치 수준을 포함한 전체 버전 세부 정보를 얻으려면 aurora_version Aurora PostgreSQL 함수를 사용하여 Aurora PostgreSQL DB 클러스터를 쿼리할 수 있습니다. 자세한 내용은 Aurora PostgreSQL 함수 참조aurora_version 섹션을 참조하세요. 사용 중인 Babelfish 버전 식별To use the PostgreSQL port to query for version information 절차에서 이 함수를 사용하는 예를 찾을 수 있습니다.

다음 표에는 Aurora PostgreSQL 및 Babelfish 버전과 마이너 버전 업그레이드 절차를 지원할 수 있는 사용 가능한 대상 버전이 나와 있습니다.

현재 소스 버전

최신 업그레이드 대상

사용 가능한 기타 업그레이드 버전

Aurora PostgreSQL Babelfish Aurora PostgreSQLBabelfish Babelfish 옵션이 구성된 Aurora PostgreSQL 버전

15.4

3.3.0

15.5

3.4.0

15.3.2

3.2.1

15.5

3.4.0

15.4

15.2.4

3.1.3

15.5

3.4.0

15.4

15.3

14.9.1

2.6.0

14.10

2.7.0

14.8.2

2.5.1

14.10

2.7.0

14.9.1

14.7.4

2.4.3

14.10

2.7.0

14.9.1

14.8.2

14.6.4

2.3.3

14.10

2.7.0

14.9.1

14.8.2

14.7.4

14.5.3

2.2.3

14.10

2.7.0

14.9.1

14.8.2

14.7.4

14.6.4

14.3.1

2.1.1

14.6

2.3.0

14.3.0

2.1.0

14.6

2.3.0

14.3.1

13.8

1.4.0

13.9

1.5

13.7.1

1.3.1

13.9

1.5

13.8

13.7.0

1.3.0

13.9

1.5

13.7.1

13.6.4

1.2.4

13.9

1.5

13.7

13.6.3

1.2.1

13.9

1.5

13.7

13.6.4

13.6.2

1.2.1

13.9

1.5

13.7

13.6.4

13.6.1

1.2.0

13.9

1.5

13.7

13.6.4

13.6.0

1.2.0

13.9

1.5

13.7

13.6.4

13.5

1.1.0

13.9

1.5

13.7

13.6

13.4

1.0.0

13.9

1.5

13.7

13.6

13.5

Babelfish를 새 메이저 버전으로 업그레이드

메이저 버전 업그레이드에서는 먼저 Babelfish for Aurora PostgreSQL DB 클러스터를 메이저 버전 업그레이드를 지원하는 버전으로 업그레이드해야 합니다. 이를 위해서 패치 업데이트 또는 마이너 버전 업그레이드를 DB 클러스터에 적용하세요. 자세한 내용은 Babelfish를 새 마이너 버전으로 업그레이드를 참조하세요.

다음 테이블에는 메이저 버전 업그레이드를 지원할 수 있는 Aurora PostgreSQL 버전과 Babelfish 버전이 나와 있습니다.

현재 소스 버전

사용 가능한 최신 업그레이드 대상

사용 가능한 기타 버전(마이너 버전 업그레이드)

Aurora PostgreSQL Babelfish Aurora PostgreSQLBabelfish Aurora PostgreSQL 버전(Babelfish 버전)

15.5

3.4.0

16.1

4.0.0

15.4

3.3.0

16.1

4.0.0

15.3

3.2.0

16.1

4.0.0

15.2

3.1.0

16.1

4.0.0

14.10

2.7.0

15.5

3.4.0

14.9

2.6.0

15.5

3.4.0

15.4(3.3.0)

14.8

2.5.0

15.5

3.4.0

15.4(3.3.0)

15.3(3.2.0)

14.7

2.4.0

15.5

3.4.0

15.4(3.3.0)

15.3(3.2.0)

15.2(3.1.0)

14.6

2.3.0

15.5

3.4.0

15.4(3.3.0)

15.3(3.2.0)

15.2(3.1.0)

13.9

1.5.0

14.6

2.3.0

13.8

1.4.0

14.6

2.3.0

13.7.1

1.3.1

14.6

2.3.0

13.8(1.4)

13.6.4

1.2.2

14.6

2.3.0

13.8(1.4)

13.7(1.3)

Babelfish를 새 메이저 버전으로 업그레이드하기 전

업그레이드하는 과정에서 일시적인 중단이 발생할 수 있습니다. 따라서 유지 관리 기간 동안 또는 사용량이 많지 않은 기간에 업그레이드를 수행하거나 예약하는 것이 좋습니다.

메이저 버전 업그레이드를 수행하기 전

  1. 사용 중인 Babelfish 버전 식별에 나와 있는 명령을 사용하여 기존 Aurora PostgreSQL DB 클러스터의 Babelfish 버전을 식별합니다. Aurora PostgreSQL 버전 및 Babelfish 버전 정보는 PostgreSQL에서 처리하므로 To use the PostgreSQL port to query for version information 절차에 설명된 단계에 따라 세부 정보를 가져옵니다.

  2. 사용 중인 버전이 메이저 버전 업그레이드를 지원하는지 확인합니다. 메이저 버전 업그레이드 기능을 지원하는 버전 목록은 Babelfish를 새 마이너 버전으로 업그레이드를 참조하여 필요한 사전 업그레이드 작업을 수행하세요.

    예를 들어 Babelfish 버전이 Aurora PostgreSQL 13.5 DB 클러스터에서 실행 중이고 Aurora PostgreSQL 15.2로 업그레이드하려는 경우 먼저 모든 마이너 릴리스 및 패치를 적용하여 클러스터를 Aurora PostgreSQL 14.6 이상 버전으로 업그레이드하세요. 클러스터 버전이 14.6 이상이면 메이저 버전 업그레이드 절차를 계속 진행합니다.

  3. 현재 Babelfish DB 클러스터의 수동 스냅샷을 백업으로 생성합니다. 백업을 통해 클러스터를 Aurora PostgreSQL 버전, Babelfish 버전으로 복원하고 모든 데이터를 업그레이드 전 상태로 복원할 수 있습니다. 자세한 내용은 DB 클러스터 스냅샷 생성 섹션을 참조하세요. 이 클러스터를 업그레이드 전 상태로 복원하려면 기존 사용자 지정 DB 클러스터 파라미터 그룹을 다시 사용할 수 있도록 유지해야 합니다. 자세한 정보는 DB 클러스터 스냅샷에서 복원파라미터 그룹 고려 사항 섹션을 참조하십시오.

  4. 대상 Aurora PostgreSQL DB 버전에 대한 사용자 지정 DB 클러스터 파라미터 그룹을 준비합니다. 현재 Babelfish for Aurora PostgreSQL DB 클러스터에서 Babelfish 파라미터 설정을 복제합니다. 모든 Babelfish 파라미터 목록을 보려면 Babelfish용 DB 클러스터 파라미터 그룹 설정을 참조하세요. 메이저 버전 업그레이드에서 다음 파라미터에 소스 DB 클러스터와 동일한 설정이 필요합니다. 업그레이드에 성공하려면 모든 설정이 동일해야 합니다.

    • rds.babelfish_status

    • babelfishpg_tds.tds_default_numeric_precision

    • babelfishpg_tds.tds_default_numeric_scale

    • babelfishpg_tsql.database_name

    • babelfishpg_tsql.default_locale

    • babelfishpg_tsql.migration_mode

    • babelfishpg_tsql.server_collation_name

    주의

    새 Aurora PostgreSQL 버전에 대한 사용자 지정 DB 클러스터 파라미터 그룹의 Babelfish 파라미터 설정이 업그레이드 중인 클러스터의 파라미터 값과 일치하지 않으면 ModifyDBCluster 작업이 실패합니다. AWS Management Console 또는 modify-db-cluster AWS CLI 명령에서 나온 출력값에 InvalidParameterCombination 오류 메시지가 나타납니다.

  5. AWS Management Console 또는 AWS CLI에서 사용자 지정 DB 클러스터 파라미터 그룹을 생성합니다. 업그레이드하려는 Aurora PostgreSQL 버전에 해당하는 Aurora PostgreSQL 패밀리를 선택합니다.

    작은 정보

    파라미터 그룹은 AWS 리전 수준에서 관리됩니다. AWS CLI로 작업할 때 명령에서 --region을 지정하는 대신 기본 리전으로 구성할 수 있습니다. AWS CLI 사용에 대한 자세한 내용은 AWS Command Line Interface사용 설명서의 빠른 설정을 참조하세요.

메이저 버전 업그레이드 수행

  1. Aurora PostgreSQL DB 클러스터를 새 메이저 버전으로 업그레이드합니다. 자세한 내용은 Aurora PostgreSQL 엔진을 새로운 메이저 버전으로 업그레이드 섹션을 참조하세요.

  2. 파라미터 설정을 적용할 수 있도록 클러스터의 라이터 인스턴스를 재부팅합니다.

새 메이저 버전으로 업그레이드한 후

새 Aurora PostgreSQL 버전으로 메이저 버전을 업그레이드한 후 IDENTITY 열이 있는 테이블의 IDENTITY 값은 업그레이드 전 값보다 클 수 있습니다(+32). 따라서 다음 행이 이러한 테이블에 삽입될 때 생성된 ID 열 값이 +32 숫자로 이동하고 거기에서 시퀀스를 시작합니다. 이 조건은 Babelfish DB 클러스터의 기능에 부정적인 영향을 미치지 않습니다. 하지만 원하는 경우 열의 최대값을 기준으로 시퀀스 객체를 재설정할 수 있습니다. 그러려면 sqlcmd 또는 다른 SQL Server 클라이언트를 사용하여 Babelfish 작성자 인스턴스의 T-SQL 포트에 연결합니다. 자세한 내용은 SQL Server 클라이언트 도구를 사용하여 DB 클러스터에 연결 섹션을 참조하세요.

sqlcmd -S bfish-db.cluster-123456789012.aws-region.rds.amazonaws.com,1433 -U sa -P ******** -d dbname

연결되면 다음 SQL 명령을 사용하여 연결된 시퀀스 객체를 시드하는 데 사용할 수 있는 문을 생성합니다. 이 SQL 명령은 단일 데이터베이스 및 다중 데이터베이스 Babelfish 구성 모두에서 작동합니다. 이러한 두 가지 배포 모델에 대한 자세한 내용은 단일 데이터베이스 또는 여러 데이터베이스에서 Babelfish 사용을 참조하세요.

DECLARE @schema_prefix NVARCHAR(200) = '' IF current_setting('babelfishpg_tsql.migration_mode') = 'multi-db' SET @schema_prefix = db_name() + '_' SELECT 'SELECT setval(pg_get_serial_sequence(''' + @schema_prefix + schema_name(tables.schema_id) + '.' + tables.name + ''', ''' + columns.name + '''),(select max(' + columns.name + ') FROM ' + schema_name(tables.schema_id) + '.' + tables.name + ')); 'FROM sys.tables tables JOIN sys.columns columns ON tables.object_id = columns.object_id WHERE columns.is_identity = 1 GO

쿼리는 최대 IDENTITY 값을 재설정하고 간격을 좁히기 위해 실행할 수 있는 일련의 SELECT 문을 생성합니다. 다음은 Babelfish 클러스터에서 실행되는 샘플 SQL Server 데이터베이스인 Northwind를 사용할 때 나오는 출력값을 보여줍니다.

-------------------------------------------------------- SELECT setval(pg_get_serial_sequence('northwind_dbo.categories', 'categoryid'),(select max(categoryid) FROM dbo.categories)); SELECT setval(pg_get_serial_sequence('northwind_dbo.orders', 'orderid'),(select max(orderid) FROM dbo.orders)); SELECT setval(pg_get_serial_sequence('northwind_dbo.products', 'productid'),(select max(productid) FROM dbo.products)); SELECT setval(pg_get_serial_sequence('northwind_dbo.shippers', 'shipperid'),(select max(shipperid) FROM dbo.shippers)); SELECT setval(pg_get_serial_sequence('northwind_dbo.suppliers', 'supplierid'),(select max(supplierid) FROM dbo.suppliers)); (5 rows affected)

명령문을 하나씩 실행하여 시퀀스 값을 재설정합니다.

예: Babelfish DB 클러스터를 메이저 릴리스로 업그레이드

이 예시에서는 Babelfish 버전 1.2.2를 실행하는 Aurora PostgreSQL 13.6.4 DB 클러스터를 Aurora PostgreSQL 14.6으로 업그레이드하는 방법을 설명하는 일련의 AWS CLI 명령을 확인할 수 있습니다. 먼저 Aurora PostgreSQL 14에 사용할 사용자 지정 DB 클러스터 파라미터 그룹을 생성합니다. 다음으로 Aurora PostgreSQL 버전 13 소스의 파라미터 값과 일치하도록 파라미터 값을 수정합니다. 마지막으로 소스 클러스터를 수정하여 업그레이드를 수행합니다. 자세한 내용은 Babelfish용 DB 클러스터 파라미터 그룹 설정 섹션을 참조하세요. 해당 주제에서는 AWS Management Console에서 업그레이드를 수행하는 방법에 대한 내용도 찾을 수 있습니다.

create-db-cluster-parameter-group CLI 명령을 사용하여 새 버전에 사용할 DB 클러스터 파라미터 그룹을 생성합니다.

Linux, macOS, Unix:

aws rds create-db-cluster-parameter-group \ --db-cluster-parameter-group-name docs-lab-babelfish-apg-14 \ --db-parameter-group-family aurora-postgresql14 \ --description 'New custom parameter group for upgrade to new major version' \ --region us-west-1

이 명령을 실행하면 사용자 지정 DB 클러스터 파라미터 그룹이 AWS 리전에 생성됩니다. 출력은 다음과 비슷합니다.

{ "DBClusterParameterGroup": { "DBClusterParameterGroupName": "docs-lab-babelfish-apg-14", "DBParameterGroupFamily": "aurora-postgresql14", "Description": "New custom parameter group for upgrade to new major version", "DBClusterParameterGroupArn": "arn:aws:rds:us-west-1:111122223333:cluster-pg:docs-lab-babelfish-apg-14" } }

자세한 내용은 DB 클러스터 파라미터 그룹 만들기 섹션을 참조하세요.

modify-db-cluster-parameter-group CLI 명령을 사용하여 소스 클러스터와 일치하도록 설정을 수정합니다.

Windows의 경우:

aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name docs-lab-babelfish-apg-14 ^ --parameters "ParameterName=rds.babelfish_status,ParameterValue=on,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tds.tds_default_numeric_precision,ParameterValue=38,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tds.tds_default_numeric_scale,ParameterValue=8,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tsql.database_name,ParameterValue=babelfish_db,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tsql.default_locale,ParameterValue=en-US,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tsql.migration_mode,ParameterValue=single-db,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tsql.server_collation_name,ParameterValue=sql_latin1_general_cp1_ci_as,ApplyMethod=pending-reboot"

응답은 다음과 비슷합니다.

{ "DBClusterParameterGroupName": "docs-lab-babelfish-apg-14" }

modify-db-cluster CLI 명령을 사용하여 새 버전과 새 사용자 지정 DB 클러스터 파라미터 그룹을 사용하도록 클러스터를 수정합니다. 다음 샘플과 같이 --allow-major-version-upgrade 인수도 지정합니다.

aws rds modify-db-cluster \ --db-cluster-identifier docs-lab-bfish-apg-14 \ --engine-version 14.6 \ --db-cluster-parameter-group-name docs-lab-babelfish-apg-14 \ --allow-major-version-upgrade \ --region us-west-1 \ --apply-immediately

파라미터 설정을 적용할 수 있도록 reboot-db-instance CLI 명령을 사용하여 클러스터의 라이터 인스턴스를 재부팅합니다.

aws rds reboot-db-instance \ --db-instance-identifier docs-lab-bfish-apg-14-instance-1\ --region us-west-1