node.js连接openGauss
有幸参加 鲲鹏应用创新大赛 openGauss 赛道1: openGauss 数据库支持JavaScript驱动,但因时间关系, 只 完成 任务 要求的 1到3, 使用 密码 MD5方式连接 openGauss 。
1.1 在windows7下 载 https://nodejs.org/dist/latest-v12.x/node-v12.22.4-x64.msi 并 安装完成后,查看版本
node -v
npm – v
1.2 创建文件夹:
C:\Program Files\ nodejs \ node_cache
C:\Program Files\ nodejs \ node_global
在命令行执行:
npm config set prefix "C:\Program Files\ nodejs \ node_global "
npm config set cache "C:\Program Files\ nodejs \ node_cache "
1.3 cnpm 的 安装
因为 npm在国内的网络不好,建议使用cnpm 。
npm install -g cnpm --registry=https://registry.npm.taobao.org
特别要注意:要在配置用户环境变量里修改 Path 下面的路径,否则无法使用 cnpm 这个命令。 C:\Users\wy1\AppData\Roaming\npm 改为 C:\Program Files\ nodejs \ node_global
1.4 用 pg -pool ,但要同时安装 pg 与 pg -pool
cnpm install pg
cnpm install pg-pool
2. 安装 docker 版本 openGauss
2.1 pull docker 文件
docker pull enmotech/opengauss
2.2 启动 openGuass 实例
docker run --name opengauss --privileged=true -d -e GS_PASSWORD=huawei@123A -p 15432:5432 enmotech/opengauss:latest
特别 注意 一点 : 如果 不能启动, 原因是没有 默认 分配端口 , 必须要指定 端口,如: -p 15432:5432
2.3 进入 容器
docker exec -it 7dd627ac73db /bin/bash
omm@7dd627ac73db:/$ gsql
2.4 为了安全, openGauss 对于密码安全的要求:建立新用户和密码
create user wuyicom with password 'huawei@123';
create database testdb owner wuyicom;
GRANT ALL PRIVILEGES ON DATABASE testdb to wuyicom ;// 授予用户对该数据库的全部权限
ALTER ROLE wuyicom CREATEDB;// 授予该用户创建数据库的权限
进入数据:建议使用 -r 启用编辑模式进入
gsql -U wuyicom -d testdb -W huawei@123 -r
2.5 创建 表
CREATE TABLE departments (
department_id INTEGER NOT NULL,
department_name CHAR(3),
manager_id INTEGER,
location_id INTEGER
);
2.6 插入 数据
insert into departments(department_id,department_name,manager_id,location_id) values (10,'Adm',200,1700),(20,'Mar',201,1800),(30,'Pur',114,1700),(40,'Hum',203,2400),(50,'Shi',121,1500),(60,'IT',103,1400),(70,'Pub',204,2700),(80,'Sal',145,2500),(90,'Exe',100,1700),(100,'Fin',108,1700),(110,'Acc',205,1700),(120,'Tre',NULL,1700),(130,'Cor',NULL,1700),(140,'Con',NULL,1700),(150,'Sha',NULL,1700),(160,'Ben',NULL,1700),(170,'Man',NULL,1700),(180,'Con',NULL,1700),(190,'Con',NULL,1700),(200,'Ope',NULL,1700),(210,'IT ',NULL,1700),(220,'NOC',NULL,1700),(230,'IT ',NULL,1700),(240,'Gov',NULL,1700),(250,'Ret',NULL,1700),(260,'Rec',NULL,1700),(270,'Pay',NULL,1700);
3 创建 一个1.js , 代码如下:
var pg = require('pg');
// 数据库配置
var config = {
user: 'wuyicom',
database: 'testdb',
password: ' huawei@123',
host: 'xxx.xxx.xxx.xxx',
port: 15432,
// 扩展属性
//max:20, // 连接 池最大 连接数
//idleTimeoutMillis:30000, // 连接最大空闲时间 3s
}
// 创建连接池
var pool = new pg.Pool(config);
// 查询
var sql = 'select * from departments limit 5';
pool.query(sql, function(result) {
console.log(result);
});
在 window7 的 cmd 下执行命令 N ode 1.js 即可 。使用 MD5 不 是很安全 ,sha 256 安全 但是不 支持, 如果需要使用sha256 ,则 需要 花 点时间去 修改 驱动 。 后续 有 时间可以 花时间 去研究一下。
- 点赞
- 收藏
- 关注作者
评论(0)