node-postgres を PostgreSQL 言語データベースに接続する

このページでは、PostgreSQL node-postgres ドライバを Spanner の PostgreSQL 言語データベースに接続する方法について説明します。node-postgres は、PostgreSQL 用の Node.js ドライバです。

  1. PostgreSQL node-postgres ドライバを使用して接続しているアプリケーションと同じマシンで PGAdapter が実行されていることを確認します。

    詳細については、PGAdapter を起動するをご覧ください。

  2. node-postgres 接続プロパティでデータベース サーバーのホストとポートを指定します。

    const { Client } = require('pg');
    const client = new Client({
      host: 'APPLICATION_HOST',
      port: PORT,
      database: 'DATABASE_NAME',
    });
    await client.connect();
    const res = await client.query("select 'Hello world!' as hello");
    console.log(res.rows[0].hello);
    await client.end();
    

    次のように置き換えます。

    • APPLICATION_HOST: PGAdapter が実行されているマシンのホスト名または IP アドレス。ローカルで実行している場合は、localhost を使用できます。
    • PORT: PGAdapter が実行されているポート番号。PGAdapter がカスタムポートで実行されている場合は、接続文字列でこれを変更します。それ以外の場合は、デフォルト ポート 5432 を使用します。

Unix ドメイン ソケット

このセクションでは、Unix ドメイン ソケットを使用して PostgreSQL node-postgres ドライバを PostgreSQL 言語データベースに接続する方法について説明します。レイテンシを最小限に抑える必要がある場合は、Unix ドメイン ソケット接続を使用します。

Unix ドメイン ソケットを使用するには、PGAdapter がクライアント アプリケーションと同じホストで実行されている必要があります。

const client = new Client({
  host: '/tmp',
  port: PORT,
  database: 'DATABASE_NAME',
});
await client.connect();
const res = await client.query("select 'Hello world!' as hello");
console.log(res.rows[0].hello);
await client.end();

次のように置き換えます。

  • /tmp: PGAdapter のデフォルトのドメイン ソケット ディレクトリ。これは、-dir コマンドライン引数を使用して変更できます。
  • PORT: PGAdapter が実行されているポート番号。PGAdapter がカスタムポートで実行されている場合は、接続文字列でこれを変更します。それ以外の場合は、デフォルト ポート 5432 を使用します。

次のステップ

  • PGAdapter について詳細を確認する。
  • PGAdapter GitHub リポジトリの node-postgres 接続オプションで、PostgreSQL node-postgres ドライバの接続オプションについて詳細を確認する。