node.js连接openGauss

举报
wuyicom 发表于 2021/08/21 23:22:12 2021/08/21
【摘要】     有幸参加 鲲鹏应用创新大赛 openGauss 赛道1: openGauss 数据库支持JavaScript驱动,但因时间关系, 只 完成 任务 要求的 1到3, 使用 密码 MD5方式连接 openGauss 。     1.1 在windows7下 载 https://nodejs.org/dist/latest-v12.x/node-v...

    有幸参加 鲲鹏应用创新大赛 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 ,则 需要 花 点时间去 修改 驱动 。 后续 有 时间可以 花时间 去研究一下。








【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。