Node.js在连接到PostgreSQL时提供了很大的灵活性,但它也使整个过程变得简单。大多数现实世界的应用程序都以这样或那样的方式与数据库交互。数据库使数据的持久化、分析和交互变得容易。大多数编程语言都支持将应用程序连接到PostgreSQL等数据库。在本文中,了解如何使用node-postgres模块将Node应用程序连接到PostgreSQL。如何开始要开始连接到本地数据库,您需要安装PostgreSQL服务器。PostgresSQL是最常见的关系数据库系统之一,因为它具有灵活性和强大的功能。如果您的项目很复杂,或者您正在寻找一种体现开源精神的解决方案,您可能会考虑将其作为MySQL的替代方案。创建一个Node应用程序第一步是创建一个Node应用程序,您将使用它来测试您的连接代码。在您的首选文件夹中,创建一个新文件夹。mkdirpostgres-node导航到您创建的文件夹并初始化npm。cdpostgres-nodenpminit-y这个命令应该生成一个package.json文件。接下来,创建一个新文件并将其命名为index.js。您将在此文件中将Node连接到PostgreSQL。使用node-postgres模块node-postgres模块是一个npm包,它允许您连接到PostgreSQL数据库并与之交互。使用node-postgres模块,有两个选项可以将Node与PostgreSQL连接起来:单个客户端或连接池。那么你应该使用什么?如果您一次只需要一个静态连接,请使用单个客户端。但是,如果您需要使用并发和多个请求,请使用连接池。安装node-postgres在终端中运行以下命令来安装node-postgres。npminstallpg如果你使用node>=14.x,你需要稍后安装pg@8.2.xo。您可以通过将版本号添加到安装命令后缀来指定版本号,如下所示。npminstallpg=8.7.3连接到PostgreSQLnode-postgres模块需要以下值才能连接到PostgreSQL数据库:PGUSER-要连接到的PostgreSQL用户名。PGHOST–要连接的服务器主机的名称。PGPASSWORD–PostgreSQL服务器的密码。PGD??ATABASE–您要连接的数据库的名称。PGPORT-要连接到服务器主机上的端口号。创建.env文件并添加这些变量,替换数据库中对应的值:PGUSER=PGHOST=PGPASSWORD=PGDATABASE=PGPORT=安装dotenv包到访问.env文件:npminstalldotenv在index.js中导入并配置dotenv:constdotenv=require("dotenv")dotenv.config()使用单客户端连接PostgreSQL数据库下面的代码展示了如何使用将节点连接到PostgreSQL服务器的单个客户端:const{Client}=require("pg")constdotenv=require("dotenv")dotenv.config()constconnectDb=async()=>{try{constclient=new客户端({用户:process.env.PGUSER,主机:process.env.PGHOST,数据库:process.env.PGDATABASE,密码:process.env.PGPASSWORD,端口:process.env.PGPORT})等待client.connect()constres=等待客户。query('SELECT*FROMsome_table')console.log(res)awaitclient.end()}catch(error){console.log(error)}}connectDb()使用连接池如前所述,连接池允许你对服务器的多个连接请求:const{Pool}=re要求(“pg”);constdotenv=require(“dotenv”);dotenv.config();constconnectDb=async()=>{try{constpool=newPool({用户:process.env.PGUSER,主机:process.env.PGHOST,数据库:process.env.PGDATABASE,密码:process.env.PGPASSWORD,端口:process.env.PGPORT,});等待pool.connect()constres=awaitpool.query('SELECT*FROMclients')console.log(res)awaitpool.end()}catch(error){console.log(error)}}connectDb()上面的示例让您可以通过.env文件控制数据库配置,但是,您也可以使用标准环境变量来提供这些配置值。这种方法允许您在启动时轻松更改配置。考虑以下连接代码:constconnectDb=async()=>{try{constpool=newPool();constres=awaitpool.query('SELECT*FROMclients')console.log(res)awaitpool.end()}catch(error){console.log(error)}}在这个程序中,初始化Pool时,您没有将连接对象作为参数传递。相反,您必须在调用程序时指定连接详细信息,如下所示:PGUSER=\PGHOST=\PGPASSWORD=\PGDATABASE=\PGPORT=\nodeindex。像这样将Node连接到PostgreSQL的Node.js允许您编写更多可重用的程序。使用PostgreSQL做更多事情要创建与数据库交互的应用程序,您必须首先将它连接到数据库。在本文中,您学习了如何使用node-Postgres模块将Node连接到PostgreSQL数据库。除了PostgreSQL,您还可以在您的应用程序中使用其他数据库管理系统,例如MySQL。您选择的数据库工具应该最符合您的数据需求。