docker 安装postgres,nodejs连接pg

docker 安装postgres,nodejs连接pg

docker pull Postgres

docker image ls

docker pull dpage/pgadmin4

docker volume create postgres-volume

docker run -d -p 5432:5432 ---name postresql -v Postgres-volume:/var/lib/portgresql/data -e POSTGRES_PASSWORD=portgresPW postgres

docker run -d -p 5433:80 ---name pgadmin4 -e PGADMIN_DEFAULT_EMAIL=test@qq.com -e PGADMIN_DEFAULT_PASSWORD=123456 dpage/pgadmin4

数据库管理后台访问pgadmin4:

http://localhost:5433

用户名:test@qq.com

密码:123456

连接数据库

主机名:host.docker.internal(默认)

用户名:portgres(默认)

密码:portgresPW

pnpm install pg config

config/default.json

json 复制代码
{
  "db":{
      "user": "postgres",
      "host": "127.0.0.1",
      "database": "postgres",
      "password": "pass123",
      "port": "5432"
  }
}

index.js

js 复制代码
import pg from "pg"
import config from "config"
const { Client } = pg
const dbConfig = config.db
const pgClient = new Client(dbConfig)
//1.连接到数据库
pgClient.connect((connectErr) => {
  if (connectErr) {
    console.error(connectErr,"连接失败")
    return
  }
  console.log("连接成功")
//2.执行查询
pgClient.query('SELECT * from tbl_user where username = $1', ['testuser'], (queryErr, res) => {
    if (!queryErr) {
      console.log(res.rows[0])
    } else {
      console.error(queryErr,"查询失败")
    }
//3.关闭连接
    pgClient.end((endErr) => {
      if (endErr) {
        console.error(err,"关闭连接失败")
      }else{
        console.log("关闭连接")
      }
    })
  })
})

package.json

json 复制代码
{
	"name": "postgres-demo",
	"version": "1.0.0",
	"description": "",
	"main": "./src/index.js",
	"author": "hjj",
	"license": "ISC",
	"type": "module",
	"scripts": {
		"dev": "node ./src/index.js"
	},
	"dependencies": {
		"config": "^3.3.12",
		"pg": "^8.12.0"
	}
}
相关推荐
skywalk81634 分钟前
云服务器安装 FreeBSD(基于腾讯云轻量云、阿里云轻量应用服务器的内容,学到了怎样在云服务器 ECS里升级安装FreeBSD)
linux·运维·服务器
LightYoungLee9 分钟前
GR 生成式召回
运维·服务器·数据库
Fortune_yangyang10 分钟前
docker-CICD
运维·docker·容器
宇钶宇夕11 分钟前
和利时MACS-K分布式控制系统深度解析:全冗余+开放兼容,赋能工业精准控制
运维·分布式·自动化
大千AI助手14 分钟前
Dockerfile中pip镜像源的优雅配置:告别重复,拥抱高效
python·docker·pip·镜像源·pypi·大千ai助手
hanyi_qwe18 分钟前
Docker-Harbor 私有仓库部署与管理【docker (五)】
运维·docker·容器
南知意-18 分钟前
Docker一键搭建JmalCloud 个人网盘--自带博客!
运维·docker·容器·开源·私有云·云盘
222you21 分钟前
Docker(C/S架构软件)
docker·容器·架构
_OP_CHEN3 小时前
【测试理论与实践】(六)吃透测试分类(上):从测试目标入手,新手也能秒懂的测试体系指南
运维·软件测试·测试开发·安全·测试开发工程师·测试分类
QT 小鲜肉3 小时前
【Linux命令大全】003.文档编辑之col命令(实操篇)
linux·运维·服务器·前端·chrome