>

제 질문은 Redshift JDBC Connection에서 올바른 redshift Database 버전 정보를 얻는 방법입니다. JDBC DatabaseMetaData.getDatabaseMajorVersion () 및 DatabaseMetaData.getDatabaseMinorVersion을 호출하면 8과 0 만 반환됩니다. 하드 코딩 된 값이라고 생각합니다. 합리적인 값을 얻기위한 JDBC 드라이버 API 호출이 있습니까?

내 폴백 솔루션은 VERSION기능을 사용하는 것입니다. = "nofollow noreferrer">https://docs.aws.amazon.com/redshift/latest/dg/r_VERSION.html 에서 클러스터 버전을 추출하십시오. 그러나 순수한 JDBC API 호출을 사용하려는 SQL을 실행해야합니다. 또한 긴 문자열을 반환하며 (아래 참조)이 문자열을 구문 분석하여 클러스터 버전 (예 : 1.0.7804)을 가져와야합니다.

VERSION 함수는 다음과 같은 문자열을 반환합니다.
"GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.7804에 의해 컴파일 된 i686-pc-linux-gnu의 PostgreSQL 8.0.2"<


  • 답변 # 1

    AWS CLI/API를 사용하여 redshift describe-cluster-db-revisions를 호출 할 수 있습니다

    예 : cli 사용

    aws redshift describe-cluster-db-revisions
    
    

    현재 db 개정을 포함하는 "CurrentDatabaseRevision"오브젝트를 포함하여 각 클러스터를 설명하는 json 오브젝트를 리턴합니다. 현재는 "7562"로 표시됩니다.

    참조

    https://docs.aws.amazon.com/cli/latest/reference/redshift/describe-cluster-db-revisions.html
    
    

    그리고

    https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterDbRevisions.html
    
    

관련 자료

  • 이전 PHP에서 페이지로드/새로 고침에 양식 제출을 방지하는 방법은 무엇입니까?
  • 다음 필터링 된 열에서 첫 번째 n % 표시 행의 합계를 계산하는 Excel 수식