DB 파라미터 지정
DB 파라미터 유형은 다음과 같습니다.
Integer
불
String
Long
Double
Timestamp
다른 정의된 데이터 형식의 객체
정수, 부울, 문자열, long, double, 타임스탬프 또는 객체 형식의 값 배열
표현식, 수식 및 함수를 사용하여 정수 및 부울 파라미터를 지정할 수도 있습니다.
Oracle 엔진의 경우 DBInstanceClassHugePagesDefault
수식 변수를 사용하여 부울 DB 파라미터를 지정할 수 있습니다. DB 파라미터 수식 변수 단원을 참조하십시오.
PostgreSQL 엔진의 경우 표현식을 사용하여 부울 DB 파라미터를 지정할 수 있습니다. 부울 DB 파라미터 표현식 단원을 참조하십시오.
DB 파라미터 수식
DB 파라미터 수식은 정수 값 또는 부울 값으로 확인되는 표현식입니다. 이 표현식은 중괄호({})로 묶여 있습니다. DB 파라미터 값에 수식을 사용하거나 DB 파라미터 함수의 인수로 수식을 사용할 수 있습니다.
- 구문
-
{FormulaVariable} {FormulaVariable*Integer} {FormulaVariable*Integer/Integer} {FormulaVariable/Integer}
DB 파라미터 수식 변수
각 수식 변수는 정수 또는 부울 값을 반환합니다. 변수 이름은 대소문자를 구분합니다.
- AllocatedStorage
-
데이터 볼륨의 크기(바이트)를 나타내는 정수를 반환합니다.
- DBInstanceClassHugePagesDefault
-
부울 값 반환 현재 Oracle 엔진에 대해서만 지원됩니다.
자세한 내용은 RDS for Oracle 인스턴스에 HugePages 활성화 섹션을 참조하세요.
- DBInstanceClassMemory
-
데이터베이스 프로세스에 사용할 수 있는 메모리의 바이트 수에 대한 정수를 반환합니다. 이 숫자는 DB 인스턴스 클래스에 대한 총 메모리 양에서 시작하여 내부적으로 계산됩니다. 이 계산에서 인스턴스를 관리하는 RDS 프로세스와 운영 체제용으로 예약된 메모리가 차감됩니다. 따라서 이 숫자는 DB 인스턴스 클래스의 인스턴스 클래스 표에 표시된 메모리 수치보다 항상 다소 낮습니다. 정확한 값은 여러 요인의 조합에 따라 달라집니다. 여기에는 인스턴스 클래스, DB 엔진이 포함되며 RDS 인스턴스에 적용되는지 아니면 Aurora 클러스터의 일부인 인스턴스에 적용되는지에 따라 값이 달라집니다.
- DBInstanceVCPU
-
Amazon RDS가 인스턴스를 관리하는 데 사용하는 vCPU(가상 중앙 처리 유닛)의 수를 나타내는 정수를 반환합니다.
- EndPointPort
-
DB 인스턴스에 연결하는 데 사용되는 포트를 나타내는 정수를 반환합니다.
- TrueIfReplica
-
DB 인스턴스가 읽기 전용 복제본이면
1
, 아니면0
을 반환합니다. MySQL의read_only
파라미터에 대한 기본값입니다.
DB 파라미터 수식 연산자
DB 파라미터 수식은 나눗셈과 곱셈의 두 가지 연산자를 지원합니다.
- 나눗셈 연산자: /
-
나뉨수를 나눗수로 나누어 정수 몫을 반환합니다. 몫의 소수는 잘리며 반올림되지 않습니다.
구문
dividend / divisor
나뉨수 및 나눗수 인수는 정수 식이어야 합니다.
- 곱셈 연산자: *
-
표현식을 곱하여 해당 표현식의 곱을 반환합니다. 표현식 소수는 잘리며 반올림되지 않습니다.
구문
expression * expression
두 식 모두 정수여야 합니다.
DB 파라미터 함수
DB 파라미터 함수의 인수를 정수 또는 수식으로 지정합니다. 함수마다 인수가 하나 이상 있어야 합니다. 여러 인수를 쉼표로 구분된 목록으로 지정합니다. 목록에 argument1, argument3과 같은 빈 멤버를 넣을 수 없습니다. 함수 이름은 대소문자를 구분하지 않습니다.
- IF
-
인수를 반환합니다.
현재 Oracle 엔진에 대해서만 지원하고 지원하는 첫 인수는
{DBInstanceClassHugePagesDefault}
입니다. 자세한 내용은 RDS for Oracle 인스턴스에 HugePages 활성화 섹션을 참조하세요.구문
IF(argument1, argument2, argument3)
첫 번째 인수가 true이면 두 번째 인수를 반환합니다. 그렇지 않으면 세 번째 인수를 반환합니다.
- GREATEST
-
정수 또는 파라미터 수식 목록에서 가장 큰 값을 반환합니다.
구문
GREATEST(argument1, argument2,...argumentn)
정수를 반환합니다.
- LEAST
-
정수 또는 파라미터 수식 목록에서 가장 작은 값을 반환합니다.
구문
LEAST(argument1, argument2,...argumentn)
정수를 반환합니다.
- SUM
-
지정된 정수나 파라미터 수식의 값을 더합니다.
구문
SUM(argument1, argument2,...argumentn)
정수를 반환합니다.
부울 DB 파라미터 표현식
부울 DB 파라미터 표현식은 1 또는 0의 부울 값으로 해석됩니다. 이 표현식은 따옴표로 묶여 있습니다.
참고
부울 DB 파라미터 표현식은 PostgreSQL 엔진에 대해서만 지원됩니다.
- 구문
-
"expression operator expression"
두 표현식 모두 정수로 해석되어야 합니다. 표현식은 다음 형식일 수 있습니다.
-
정수 상수
-
DB 파라미터 수식
-
DB 파라미터 함수
-
DB 파라미터 변수
-
부울 DB 파라미터 표현식은 다음과 같은 부등식 연산자를 지원합니다.
- 보다 큼 연산자: >
-
구문
"expression > expression"
- 보다 작음 연산자: <
-
구문
"expression < expression"
- 크거나 같음 연산자: >=, =>
-
구문
"expression >= expression" "expression => expression"
- 작거나 같음 연산자: <=, =<
-
구문
"expression <= expression" "expression =< expression"
예 부울 DB 파라미터 표현식 사용
다음 부울 DB 파라미터 표현식 예시에서는 파라미터 수식의 결과를 정수와 비교합니다. PostgreSQL DB 인스턴스의 부울 DB 파라미터 wal_compression
을 수정하기 위한 것입니다. 이 파라미터 표현식은 vCPU 수를 값 2와 비교합니다. vCPU 수가 2보다 크면 wal_compression
DB 파라미터가 true로 설정됩니다.
aws rds modify-db-parameter-group --db-parameter-group-name
group-name
\ --parameters "ParameterName=wal_compression,ParameterValue=\"{DBInstanceVCPU} > 2\" "
DB 파라미터 로그 표현식
정수 DB 파라미터 값을 로그 표현식으로 설정할 수 있습니다. 이 표현식은 중괄호({})로 묶여 있습니다. 예:
{log(DBInstanceClassMemory/8187281418)*1000}
log
함수는 로그 밑 2를 나타냅니다. 또한 이 예제에서는 DBInstanceClassMemory
수식 변수를 사용합니다. DB 파라미터 수식 변수 단원을 참조하십시오.
참고
현재, MySQL innodb_log_file_size
파라미터를 정수 이외의 값으로 지정할 수 없습니다.
DB 파라미터 값 예제
이 예에서는 DB 파라미터 값에 수식, 함수 및 표현식을 사용하는 방법을 보여 줍니다.
주의
DB 파라미터 그룹에 파라미터를 잘못 설정하면 의도하지 않은 부작용이 있을 수 있습니다. 이러한 부작용에는 성능 저하, 시스템 불안정 등이 포함될 수 있습니다. 데이터베이스 파라미터를 수정할 때 주의하고 DB 파라미터 그룹을 수정하기 전에 데이터를 백업하세요. 파라미터 그룹 변경 내용을 프로덕션 DB 인스턴스에 적용하기 전에 특정 시점으로 복원을 사용하여 생성한 테스트 DB 인스턴스에 적용해 봐야 합니다.
예 DB 파라미터 함수 GREATEST 사용
Oracle 프로세스 파리미터에 GREATEST
함수를 지정할 수 있습니다. DBInstanceClassMemory
를 9,868,951로 나눈 값과 80 중 더 큰 값으로 사용자 프로세스 수를 설정하려면 이 함수를 사용합니다.
GREATEST({DBInstanceClassMemory/9868951},80)
예 DB 파라미터 함수 LEAST 사용
MySQL LEAST
파라미터 값에 max_binlog_cache_size
함수를 지정할 수 있습니다. 트랜잭션이 MySQL 인스턴스에서 사용할 수 있는 최대 캐시 값을 1MB와 DBInstanceClass
/256 중 더 작은 값으로 설정하려면 이 함수를 사용합니다.
LEAST({DBInstanceClassMemory/256},10485760)