연결에서 PostgreSQL 서버 버전을 받으시겠습니까?

활력 -t

최신 PostgreSQL 연결 프로토콜에 서버 버전을 나타내는 것이 있습니까?

그렇지 않은 경우 엔드 포인트가 열린 연결에 대해 실행하여 버전을 포함 할 서버 세부 정보를 가져올 수있는 특별한 저수준 요청이 있습니까?

나는 모든 새로운 연결시 서버 버전을 자동으로 제공하는 node-postgres 의 가능한 확장을 찾고 있습니다. 그리고 이것이 가능한지 알고 싶습니다.

SELECT version()모든 새로운 연결에 대해 실행 한 다음이를 구문 분석해야하는 것은 연결을 관리하는 기본 드라이버에 비해 너무 높은 수준입니다. 프로토콜 수준에서 수행되어야합니다.

활력 -t

약간의 조사 끝에 PostgreSQL이 연결 중에 시작 메시지 내에서 서버 버전을 제공한다는 것을 발견했습니다 .

특히 node-postgres 드라이버 내에서 Pool 이 연결에서 이벤트를 처리 하고 서버 버전을 노출 하는 사용자 지정 클라이언트제공 하도록 만들 수 있습니다 parameterStatus.

const {Client, Pool} = require('pg');

class MyClient extends Client {
    constructor(config) {
        super(config);
        this.connection.on('parameterStatus', msg => {
            if (msg.parameterName === 'server_version') {
                this.version = msg.parameterValue;
            }
        });
    }
}

const cn = {
    database: 'my-db',
    user: 'postgres',
    password: 'bla-bla',
    Client: MyClient // here's our custom Client type
};

const pool = new Pool(cn);

pool.connect()
    .then(client => {
        console.log('Server Version:', client.version);
        client.release(true);
    })
    .catch(console.error);

내 테스트 PC에서 PostgreSQL v11.2를 사용하므로이 테스트는 다음을 출력합니다.

Server Version: 11.2

최신 정보

라이브러리 pg-promise 가 TypeScript에서 동일한 기능을 지원하도록 업데이트되었습니다. 그리고이 티켓 에서 완전한 예를 찾을 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

명령 줄에서 gyp 버전을 받으시겠습니까?

분류에서Dev

PostgreSQL에서 연결된 서버 표시

분류에서Dev

LTS 패키지에서 커널 버전을 받으시겠습니까?

분류에서Dev

LTS 패키지에서 커널 버전을 받으시겠습니까?

분류에서Dev

LTS 패키지에서 커널 버전을 받으시겠습니까?

분류에서Dev

bash에서 "310"과 같은 Linux 커널 버전을 받으시겠습니까?

분류에서Dev

AJAX 오류로 서버 응답을 받으시겠습니까?

분류에서Dev

Google Cloud PostgreSQL은 서버에서 연결할 수 없습니다.

분류에서Dev

고대 서버에서 원시 PostgreSQL 백업을 복원 하시겠습니까?

분류에서Dev

고대 서버에서 원시 PostgreSQL 백업을 복원 하시겠습니까?

분류에서Dev

JavaScript : 서버에서 업데이트를 받으시겠습니까?

분류에서Dev

Moqui-SSL 연결을 통해 IMAP 서버에 연결 하시겠습니까?

분류에서Dev

PostgreSQL 서버에 연결할 수 없습니다.

분류에서Dev

Dockerized postgresql 서버에 연결할 수 없습니다.

분류에서Dev

PostgreSQL 서버에 연결할 수 없습니다.

분류에서Dev

pg_connect () : PostgreSQL 서버에 연결할 수 없습니다.

분류에서Dev

ReactOS에서 VMware Tools SVGA 드라이버를 받으시겠습니까?

분류에서Dev

jpanel에서 버튼을 검색하고 버튼의 텍스트를 받으시겠습니까?

분류에서Dev

Amp \ Websocket을 사용하여 오픈 스트림 연결에서 websocket 핑을 받으시겠습니까?

분류에서Dev

Openstack에서 연결을 끊으시겠습니까?

분류에서Dev

Heroku에서 다른 서버에서 PostgreSQL을 연결하는 방법은 무엇입니까?

분류에서Dev

Android 앱을 Heroku에서 Django 웹 서버의 Postgresql에 연결

분류에서Dev

PostgreSQL : 서버에 연결할 수 없음 : 연결 시간이 초과되었습니다.

분류에서Dev

SignalR을 사용하여 WinForm 서버에 연결 하시겠습니까?

분류에서Dev

Androidx Googlesource : 특정 버전을 받으시겠습니까?

분류에서Dev

Androidx Googlesource : 특정 버전을 받으시겠습니까?

분류에서Dev

for 루프의 더 짧은 버전을 받으시겠습니까?

분류에서Dev

서버에서 실시간으로 버튼을 변경 하시겠습니까?

분류에서Dev

Meson에서 닌자 버전을 지정 하시겠습니까?

Related 관련 기사

  1. 1

    명령 줄에서 gyp 버전을 받으시겠습니까?

  2. 2

    PostgreSQL에서 연결된 서버 표시

  3. 3

    LTS 패키지에서 커널 버전을 받으시겠습니까?

  4. 4

    LTS 패키지에서 커널 버전을 받으시겠습니까?

  5. 5

    LTS 패키지에서 커널 버전을 받으시겠습니까?

  6. 6

    bash에서 "310"과 같은 Linux 커널 버전을 받으시겠습니까?

  7. 7

    AJAX 오류로 서버 응답을 받으시겠습니까?

  8. 8

    Google Cloud PostgreSQL은 서버에서 연결할 수 없습니다.

  9. 9

    고대 서버에서 원시 PostgreSQL 백업을 복원 하시겠습니까?

  10. 10

    고대 서버에서 원시 PostgreSQL 백업을 복원 하시겠습니까?

  11. 11

    JavaScript : 서버에서 업데이트를 받으시겠습니까?

  12. 12

    Moqui-SSL 연결을 통해 IMAP 서버에 연결 하시겠습니까?

  13. 13

    PostgreSQL 서버에 연결할 수 없습니다.

  14. 14

    Dockerized postgresql 서버에 연결할 수 없습니다.

  15. 15

    PostgreSQL 서버에 연결할 수 없습니다.

  16. 16

    pg_connect () : PostgreSQL 서버에 연결할 수 없습니다.

  17. 17

    ReactOS에서 VMware Tools SVGA 드라이버를 받으시겠습니까?

  18. 18

    jpanel에서 버튼을 검색하고 버튼의 텍스트를 받으시겠습니까?

  19. 19

    Amp \ Websocket을 사용하여 오픈 스트림 연결에서 websocket 핑을 받으시겠습니까?

  20. 20

    Openstack에서 연결을 끊으시겠습니까?

  21. 21

    Heroku에서 다른 서버에서 PostgreSQL을 연결하는 방법은 무엇입니까?

  22. 22

    Android 앱을 Heroku에서 Django 웹 서버의 Postgresql에 연결

  23. 23

    PostgreSQL : 서버에 연결할 수 없음 : 연결 시간이 초과되었습니다.

  24. 24

    SignalR을 사용하여 WinForm 서버에 연결 하시겠습니까?

  25. 25

    Androidx Googlesource : 특정 버전을 받으시겠습니까?

  26. 26

    Androidx Googlesource : 특정 버전을 받으시겠습니까?

  27. 27

    for 루프의 더 짧은 버전을 받으시겠습니까?

  28. 28

    서버에서 실시간으로 버튼을 변경 하시겠습니까?

  29. 29

    Meson에서 닌자 버전을 지정 하시겠습니까?

뜨겁다태그

보관