参赛作品96使用node.js测试连接opengauss
Posted Gauss松鼠会
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了参赛作品96使用node.js测试连接opengauss相关的知识,希望对你有一定的参考价值。
作者:吴毅
测试环境:操作系统:EulerOS_2.8_ARM-20200308_20200308192159
硬件配置:4vCPUs | 16 GiB | kc1.xlarge.4 IP地址:192.168.0.2
1. docker的安装
1.1 给云服务器配置一个1M的弹性IP,不需要安装安装ssh服务,只需设置端口即可。查看一下安全组————入口方向 添加TCP:22。为了方便远程操作,建议开放全部端口。
1.2 安装docker
根据华为云鲲鹏介绍,建议docker-18.09.8及以上,推荐使用官方二进制包安装,选择docker-18.09.9.tgz
mkdir -p /opt/softwares mkdir -p /opt/modules cd /opt/softwares wget https://download.docker.com/linux/static/stable/aarch64/docker-18.09.9.tgz tar xzvf docker-18.09.9.tgz -C /opt/modules cd /opt/modules cp docker/* /usr/bin/
1.3 配置system服务
touch /lib/systemd/system/docker.socket vim /lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
chmod +x /lib/systemd/system/docker.service systemctl start docker
2. 安装docker版本openGauss
2.1 pull docker文件
docker pull enmotech/opengauss
2.2 启动openGuass实例
docker run --name opengauss --hostname=opengauss --privileged=true -d -e GS_PASSWORD=abc@1234A -p 15432:5432 enmotech/opengauss:latest
特别注意设置密码是要大小写字母,特殊符号和数字,必须是8位,否则无法启动docker版本的opengauss。如图所示:
docker exec -it opengauss /bin/bash su - omm gsql -d postgres -p 5432 –r
特别注意:进入opengauss时,如果是在容器里进入端口是5432,在容器外进入端口是15432。如图所示:
2.3 为了安全,openGauss 对于密码安全的要求
建立新用户和密码,为了方便操作,给用户分管理员权限。为了安全,openGauss 对于密码安全的要求:建立新用户和密码,为了方便操作,给用户分管理员权限。
create role wuyi login sysadmin identified by 'qwe123@A';
\\c omm wuyi
create database testdb;
\\c testdb wuyi;
/```
**2.4 建表和插入数据**
```sql
create table student(sno int,sname varchar(100),ssex char(4),sage int);
insert into student values (1,'张三','男',19);
insert into student values (2,'李四','男',19);
insert into student values (3,'王五','男',23);
insert into student values (4,'赵六','男',22);
insert into student values (5,'小明','男',19);
insert into student values (6,'小美','女',21);
insert into student values (7,'小英','女',19);
insert into student values (8,'周佳','女',18);
insert into student values (9,'张英','女',20);
insert into student values (10,'王勇','男',19);
/
3 安装node.js和配置其环境
3.1 在windows7下 载 https://nodejs.org/dist/latest-v12.x/node-v12.22.4-x64.msi 并 安装完成后,查看版本
node -v npm -v
3.2 创建文件夹:
D:\\nodejs\\node_cache
D:\\Program Files\\nodejs\\node_global
在命令行执行:
npm config set prefix "D:\\nodejs\\node_global" npm config set cache "D:\\nodejs\\node_cache"
3.3 设置环境变量
在我的电脑————高级系统设置————高级————环境变量————系统变量————新建————变量名:NODE_PATH 变量值:D:\\nodejs\\node_global\\node_modules
特别要注意:要在配置用户环境变量里修改Path下面的路径,否则无法使用cnpm这个命令。在用户变量的Path,把C:\\Users\\wy1\\AppData\\Roaming\\npm改为D:\\nodejs\\node_global
**3.4 cnpm安装 **
npm install -g cnpm --registry=https://registry.npm.taobao.org
3.5 用pg-pool,但要同时安装pg与pg-pool
cnpm install pg cnpm install pg-pool
3.6 创建 一个testdb.js , 代码如下:
var pg = require('pg');
// 数据库配置
var config =
user: ‘wuyi’,
database: ‘testdb’,
password: ‘xxxxx’,
host: ‘xx.xxx.xxx.xx’,
port: 15432,
<span class="hljs-comment">// 扩展属性</span>
<span class="hljs-comment">//max:20, // 连接池最大连接数</span>
<span class="hljs-comment">//idleTimeoutMillis:30000, // 连接最大空闲时间 3s</span>
// 创建连接池
var pool = new pg.Pool(config);
// 查询
var sql = ‘select * from student limit 5’;
pool.query(sql, (err, results) =>
// 查询数据失败
if (err) return console.log(err.message)
// 查询数据成功
// 注意:如果执行的是 select 查询语句,则执行的结果是数组
console.log(results)
)
运行效果如图所示:
以上是关于参赛作品96使用node.js测试连接opengauss的主要内容,如果未能解决你的问题,请参考以下文章
参赛作品95DLI Flink SQL+kafka+(opengauss和mysql)进行电商实时业务数据分析