데이터베이스가 Postgres인지, SQL을 사용하는 버전이 무엇인지 어떻게 확인할 수 있나요?

StackOverflow https://stackoverflow.com/questions/101198

  •  01-07-2019
  •  | 
  •  

문제

응용프로그램용 설치 프로그램을 작성 중입니다.사용자는 자신이 구성한 데이터 소스를 선택하고 그것이 어떤 유형의 데이터베이스인지 지정할 수 있습니다.데이터베이스 유형이 실제로 Postgres인지 확인하고, 가능하다면 데이터 소스에 SQL 문을 보내 실행 중인 Postgres 버전을 확인하고 싶습니다.

도움이 되었습니까?

해결책

이 시도:

mk=# SELECT version();
                                            version                                            
-----------------------------------------------------------------------------------------------
 PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
(1 row)

이 명령은 MySQL에서도 작동합니다.

mysql> select version();
+--------------------------------+
| version()                      |
+--------------------------------+
| 5.0.32-Debian_7etch1~bpo.1-log | 
+--------------------------------+
1 row in set (0.01 sec)

내가 볼 수 있는 한 sqlite에는 버전 명령이 없습니다.

다른 팁

SHOW server_version;

(완전성을 위해)

SELECT version();

PostgreSQL에는 호출할 수 있는 version() 함수가 있습니다.

SELECT version();

다음과 같은 내용이 반환됩니다.

                                            version
-----------------------------------------------------------------------------------------------
PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

이는 DB에 따라 다르며 이 함수가 다른 DBMS에 존재하는 경우 출력에 PostgreSQL이라고 표시됩니다.

select version()

흥미로운 ...version()은 함수입니다!왜 그럴까요?버전은 다른 입력/상황에 따라 다른 값을 변경하거나 반환하지 않습니다.

Sybase에서는 전역 변수였으며 "@@version 선택"을 수행하여 버전을 찾을 수 있었던 예전 기억이 나기 때문에 궁금합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top