node-postgres mit einer Datenbank im PostgreSQL-Dialekt verbinden
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird erläutert, wie Sie den PostgreSQL-Treiber „node-postgres“ mit einer Datenbank im PostgreSQL-Dialekt in Spanner verbinden. „node-postgres“ ist ein Node.js-Treiber für PostgreSQL.
Prüfen Sie, ob PGAdapter auf demselben Computer wie die Anwendung ausgeführt wird, die eine Verbindung über den PostgreSQL-Treiber „node-postgres“ herstellt.
Geben Sie den Host und den Port des Datenbankservers in den Verbindungseigenschaften von node-postgres an:
const{Client}=require('pg');constclient=newClient({host:'APPLICATION_HOST',port:PORT,database:'DATABASE_NAME',});awaitclient.connect();constres=awaitclient.query("select 'Hello world!' as hello");console.log(res.rows[0].hello);awaitclient.end();
Ersetzen Sie Folgendes:
APPLICATION_HOST: der Hostname oder die IP-Adresse des Computers, auf dem PGAdapter ausgeführt wird. Bei einer lokalen Ausführung können Sie localhost verwenden.
PORT: Die Portnummer, unter der PGAdapter ausgeführt wird. Ändern Sie dies im Verbindungsstring, wenn PGAdapter auf einem benutzerdefinierten Port ausgeführt wird. Verwenden Sie andernfalls den Standardport 5432.
Unix Domain Sockets
In diesem Abschnitt wird beschrieben, wie Sie Unix-Domain-Sockets verwenden, um einen PostgreSQL-Node-Postgres-Treiber mit einer Datenbank mit PostgreSQL-Dialekt zu verbinden. Verwenden Sie Unix-Domain-Socket-Verbindungen, wenn Sie die niedrigstmögliche Latenz benötigen.
Wenn Sie Unix-Domain-Sockets verwenden möchten, muss PGAdapter auf demselben Host wie die Clientanwendung ausgeführt werden.
constclient=newClient({host:'/tmp',port:PORT,database:'DATABASE_NAME',});awaitclient.connect();constres=awaitclient.query("select 'Hello world!' as hello");console.log(res.rows[0].hello);awaitclient.end();
Ersetzen Sie Folgendes:
/tmp: Das Standardverzeichnis für Domain-Sockets für PGAdapter. Dies kann mit dem Befehlszeilenargument -dir geändert werden.
PORT: Die Portnummer, unter der PGAdapter ausgeführt wird. Ändern Sie dies im Verbindungsstring, wenn PGAdapter auf einem benutzerdefinierten Port ausgeführt wird. Verwenden Sie andernfalls den Standardport 5432.
Weitere Informationen zu den Verbindungsoptionen für den PostgreSQL-Treiber „node-postgres“ finden Sie im GitHub-Repository für PGAdapter unter node-postgres Connection Options.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-11 (UTC)."],[],[],null,["# Connect node-postgres to a PostgreSQL-dialect database\n\nThis page explains how to connect the PostgreSQL node-postgres driver to a\nPostgreSQL-dialect database in Spanner. node-postgres is a Node.js\ndriver for PostgreSQL.\n\n1. Verify that PGAdapter is running on the same machine as the\n application that is connecting using the PostgreSQL node-postgres driver.\n\n For more information, see [Start PGAdapter](/spanner/docs/pgadapter-start).\n2. Specify the database server host and port in the\n `node-postgres` connection properties:\n\n const { Client } = require('pg');\n const client = new Client({\n host: '\u003cvar translate=\"no\"\u003eAPPLICATION_HOST\u003c/var\u003e',\n port: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-kt\"\u003ePORT\u003c/span\u003e\u003c/var\u003e,\n database: '\u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e',\n });\n await client.connect();\n const res = await client.query(\"select 'Hello world!' as hello\");\n console.log(res.rows[0].hello);\n await client.end();\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eAPPLICATION_HOST\u003c/var\u003e: the hostname or IP address of the machine where PGAdapter is running. If running locally, you can use `localhost`.\n - \u003cvar translate=\"no\"\u003ePORT\u003c/var\u003e: the port number where PGAdapter is running. Change this in the connection string if PGAdapter is running on a custom port. Otherwise, use the default port, `5432`.\n\nUnix domain sockets\n-------------------\n\nThis section explains how to use Unix domain sockets to connect a\nPostgreSQL node-postgres driver to a PostgreSQL-dialect database. Use Unix domain socket\nconnections when you need to have the lowest possible latency.\n\nTo use Unix domain sockets, PGAdapter must be running on the\nsame host as the client application. \n\n const client = new Client({\n host: '\u003cvar translate=\"no\"\u003e/tmp\u003c/var\u003e',\n port: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-kt\"\u003ePORT\u003c/span\u003e\u003c/var\u003e,\n database: '\u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e',\n });\n await client.connect();\n const res = await client.query(\"select 'Hello world!' as hello\");\n console.log(res.rows[0].hello);\n await client.end();\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003e/tmp\u003c/var\u003e: the default domain socket directory for PGAdapter. This can be changed using the `-dir` command line argument.\n- \u003cvar translate=\"no\"\u003ePORT\u003c/var\u003e: the port number where PGAdapter is running. Change this in the connection string if PGAdapter is running on a custom port. Otherwise, use the default port, `5432`.\n\nWhat's next\n-----------\n\n- Learn more about [PGAdapter](/spanner/docs/pgadapter).\n- For more information about PostgreSQL node-postgres driver connection options, see [node-postgres Connection\n Options](https://github.com/GoogleCloudPlatform/pgadapter/blob/-/docs/node-postgres.md) in the PGAdapter GitHub repository."]]