DROP POSTGRES INSTANCE
DROP POSTGRES INSTANCE
계정에서 지정한 Snowflake Postgres 인스턴스(Instance)를 제거하는 명령어입니다.
출처: 문서
본문
DROP POSTGRES INSTANCE는 계정에서 지정한 Snowflake Postgres 인스턴스를 제거합니다. 관련 명령어로 CREATE POSTGRES INSTANCE, ALTER POSTGRES INSTANCE, DESCRIBE POSTGRES INSTANCE, SHOW POSTGRES INSTANCES가 있어요.
구문 (Syntax)
DROP POSTGRES INSTANCE [ IF EXISTS ] <name>
파라미터 (Parameters)
- name — 삭제할 Postgres 인스턴스의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 감싸야 합니다. 큰따옴표로 감싼 식별자는 대소문자를 구분해요. 자세한 내용은 Identifier requirements를 참고하세요.
접근 제어 요구 사항 (Access control requirements)
이 작업을 실행하는 역할은 최소한 OWNERSHIP 권한(객체: Postgres instance)이 있어야 합니다.
지정된 권한 집합으로 커스텀 역할을 만드는 방법은 Creating custom roles을, securable 객체에 대한 역할과 권한 부여에 관한 일반 정보는 Overview of Access Control을 참고하세요.
사용 참고 사항 (Usage notes)
- 현재 삭제된 Postgres 인스턴스는 복구할 수 없으므로 다시 생성해야 합니다. 그러나 인스턴스의 포크(fork)를 만들었다면 그 포크는 독립적이며 영향을 받지 않습니다. 나중에 인스턴스를 더 쉽게 다시 만들려면 DESC POSTGRES INSTANCE를 사용해 삭제 전에 각 인스턴스의 세부 정보를 캡처할 수 있습니다.
- 이 명령어가 실행되면 Snowflake는 Postgres 인스턴스를 종료하고 연결된 컴퓨팅 리소스를 해제합니다. 인스턴스가 완전히 종료된 후에는 컴퓨팅 리소스 청구가 중지됩니다.
- Postgres 인스턴스에 저장된 모든 데이터가 영구적으로 삭제됩니다. 인스턴스를 삭제하기 전에 중요한 데이터를 백업했는지 확인하세요.
- 인스턴스에 고가용성(HA, high availability)이 활성화되어 있으면 기본 인스턴스와 함께 HA 대기(standby) 인스턴스도 삭제됩니다.
- 인스턴스에 읽기 복제본이 있으면 기본 인스턴스가 삭제될 때 그 복제본들도 삭제됩니다.
- 포크된 인스턴스는 독립적인 복사본입니다. 소스 인스턴스를 삭제해도 소스에서 포크된 인스턴스에는 영향을 주지 않습니다.
- 인스턴스를 삭제하기 전에 DROP_MIRROR를 사용해 그 인스턴스의 모든 미러를 삭제하세요. 권장되는 순서는 인스턴스 삭제 시 Teardown 순서를 참고하세요.
IF EXISTS절을 지정하고 대상 객체가 존재하지 않으면, 명령어는 오류를 반환하지 않고 성공적으로 완료됩니다.
예제 (Examples)
Postgres 인스턴스를 삭제합니다.
DROP POSTGRES INSTANCE my_postgres;
존재할 때만 Postgres 인스턴스를 삭제합니다.
DROP POSTGRES INSTANCE IF EXISTS my_postgres;
흐름 연산자(->>)를 사용해 삭제할 인스턴스를 찾습니다.
-- Find the oldest instance
-- Then use SET and IDENTIFIER() to drop it
SET oldest_instance = (
SHOW POSTGRES INSTANCES
->> SELECT "name"
FROM $1
ORDER BY "created_on"
LIMIT 1
);
DROP POSTGRES INSTANCE IDENTIFIER($oldest_instance);
삭제 전에 스토리지 임계값보다 낮은 인스턴스를 찾습니다.
-- Identify small instances
SHOW POSTGRES INSTANCES
->> SELECT "name", "storage_size", "created_on"
FROM $1
WHERE "storage_size" < 50
ORDER BY "storage_size";
DROP POSTGRES INSTANCE some_extremely_small_instance;
삭제를 시도하기 전에 소유권을 확인합니다.
SHOW GRANTS ON POSTGRES INSTANCE my_postgres;
-- Verify that you have OWNERSHIP privilege, then drop
DROP POSTGRES INSTANCE my_postgres;