您的当前位置:首页 >数据库 >如何使用 Node.js 连接到 PostgreSQL 数据库 正文
时间:2025-11-05 09:26:23 来源:网络整理编辑:数据库
Node.js 在连接到 PostgreSQL 时提供了很大的灵活性,但它也使整个过程变得简单。大多数现实世界的应用程序以一种或另一种方式与数据库交互。数据库使持久化、分析数据和与数据交互变得容易。大
Node.js 在连接到 PostgreSQL 时提供了很大的何使灵活性,但它也使整个过程变得简单。数据
大多数现实世界的何使应用程序以一种或另一种方式与数据库交互。数据库使持久化、数据分析数据和与数据交互变得容易。何使
大多数编程语言都支持将应用程序连接到 PostgreSQL 等数据库。数据本文了解如何使用 node-postgres 模块将 Node 应用程序连接到 PostgreSQL。何使

要开始连接到本地数据库,数据您需要安装 PostgreSQL 服务器。何使
PostgresSQL因其灵活性和强大功能而成为最常见的数据关系数据库系统之一。如果您的何使项目很复杂,或者您正在寻找包含开源精神的数据解决方案,您可能会考虑使用它作为 MySQL 的何使替代品。
创建 Node 应用程序第一步是数据创建一个 Node 应用程序,您将使用它来测试连接代码。何使在您的首选文件夹中,创建一个新文件夹。
复制mkdir postgres-node1.导航到您创建的文件夹并初始化 npm。
复制cd postgres-nodenpm init -y1.2.此命令应生成一个package.json文件。
接下来,创建一个新文件并将其命名为index.js。免费源码下载您将在此文件中将 Node 连接到 PostgreSQL。
使用 node-postgres 模块node-postgres模块是一个 npm 包,它允许您连接到 PostgreSQL 数据库并与之交互。使用 node-postgres 模块可以使用两个选项将 Node 与 PostgreSQL 连接:单个客户端或连接池。那么你应该使用什么?
如果一次只需要一个静态连接,请使用单个客户端。但是,如果您需要使用并发和多个请求,请使用连接池。
安装 node-postgres在终端中运行以下命令以安装 node-postgres。
复制npm install pg1.如果您使用 node >= 14.x,则需要稍后安装 pg@8.2.xo。您可以通过像这样将其添加到安装命令后缀来指定版本号。
复制npm install pg=8.7.31. 连接到 PostgreSQLnode-postgres 模块需要以下值才能连接到 PostgreSQL 数据库:
PGUSER – 要连接的 PostgreSQL 用户名。PGHOST – 要连接的服务器主机的名称。PGPASSWORD – PostgreSQL 服务器的密码。PGDATABASE – 您要连接的数据库的名称。PGPORT – 在服务器主机上连接的端口号。创建一个 .env 文件并添加这些变量,替换数据库中的高防服务器相应值:
复制PGUSER=<PGUSER>PGHOST=<PGHOST>PGPASSWORD=<PGPASSWORD>PGDATABASE=<PGDATABASE>PGPORT=<PGPORT>1.2.3.4.5.安装 dotenv 包以访问 .env 文件:
复制npm install dotenv1.在index.js中,导入并配置 dotenv:
复制const dotenv = require("dotenv")
dotenv.config()1.2. 使用单个客户端连接到 PostgreSQL 数据库下面的代码展示了如何使用单个客户端将 Node 连接到 PostgreSQL 服务器:
复制const { Client } = require("pg")
const dotenv = require("dotenv")
dotenv.config()
const connectDb = async () =>{
try{
const client = new Client({
user: process.env.PGUSER,
host: process.env.PGHOST,
database: process.env.PGDATABASE,
password: process.env.PGPASSWORD,
port: process.env.PGPORT})
await client.connect()
const res = await client.query(SELECT * FROM some_table)
console.log(res)
await client.end()
} catch (error) {
console.log(error)
}
}
connectDb()1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24. 使用连接池如前所述,连接池允许您向服务器发出多个连接请求:
复制const { Pool } = require("pg");
const dotenv = require("dotenv");
dotenv.config();
const connectDb = async () =>{
try{
const pool = new Pool({
user: process.env.PGUSER,
host: process.env.PGHOST,
database: process.env.PGDATABASE,
password: process.env.PGPASSWORD,
port: process.env.PGPORT,
});
await pool.connect()
const res = await pool.query(SELECT * FROM clients)
console.log(res)
await pool.end()
} catch (error) {
console.log(error)
}
}
connectDb()1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.上面的示例让您可以通过 .env 文件控制数据库配置。但是,您也可以使用标准环境变量提供这些配置值。这种方法使您可以在启动时轻松更改配置。
考虑以下连接代码:
复制const connectDb = async () =>{
try{
const pool = new Pool();
const res = await pool.query(SELECT * FROM clients)
console.log(res)
await pool.end()
} catch (error) {
console.log(error)
}
}1.2.3.4.5.6.7.8.9.10.在这个程序中,初始化 Pool 时,您没有将连接对象作为参数传递。相反,您必须在调用程序时指定连接详细信息,如下所示:
复制PGUSER=<PGUSER>\
PGHOST=<PGHOST>\
PGPASSWORD=<PGPASSWORD>\
PGDATABASE=<PGDATABASE>\
PGPORT=<PGPORT>\
node index.js1.2.3.4.5.6.像这样将 Node 连接到 PostgreSQL 可以让您编写更可重用的程序。
使用 PostgreSQL 做更多事情要创建与数据库交互的应用程序,您必须先将其连接到数据库。在本文中,您学习了如何使用 node-Postgres 模块将 Node 连接到 PostgreSQL 数据库。
除了 PostgreSQL,您还可以在应用程序中使用其他数据库管理系统,例如 MySQL。您选择的数据库工具应该与您的数据需求最兼容。
美的330wtv冰箱的特点与优势(智能科技与高效节能的结合,打造理想冰箱)2025-11-05 08:50
利用iPad定时关机功能,轻松掌控电源(一键定时关机,享受智能生活)2025-11-05 08:47
超声波在医疗领域的应用及发展(探索超声波技术在医疗中的创新和前景)2025-11-05 08:18
初心资本(探索创新企业,助力经济腾飞)2025-11-05 08:02
手机660处理器的性能和功能评测(手机660处理器的关键特点及适用领域)2025-11-05 07:51
猪八戒的善良与憨厚(一个天真可爱却不失勇敢的半人半兽)2025-11-05 07:39
华为笔记本(华为笔记本的关键特点和用户体验)2025-11-05 07:35
荣耀6A(一款高性价比的智能手机推荐)2025-11-05 07:26
探索以6D2拍摄视频的无限可能(用6D2记录生活,留下最真实的画面回忆)2025-11-05 07:12
探索微软Arc的功能和优势(为企业提供卓越的数据解决方案)2025-11-05 07:00
11.1正式版2025-11-05 09:17
以盆景碎纸机的效果和使用方法(探讨以盆景碎纸机的优势和适用范围)2025-11-05 09:08
探索幸福(在忙碌的现代生活中寻找内心的满足和平静)2025-11-05 08:55
华为5.1系统更新带来了哪些改变?(探索华为5.1系统更新的新特性与优势)2025-11-05 08:36
HTCM9美版V版的综合评测(一部令人期待的高性能旗舰手机)2025-11-05 08:27
优者充电宝(告别电量焦虑,轻松畅玩生活)2025-11-05 08:05
寒霸电池(领先科技驱动,寒霸电池助您无忧供电)2025-11-05 07:50
以玖嘉久一体电脑(高品质硬件+稳定系统,提升工作效率)2025-11-05 07:08
以布本智能为主题的文章(探索布本智能的应用和前景)2025-11-05 07:05