本地环境需要准备centos7.6_x86,如果没有,直接使用docker版本的单节点数据库用于调试吧
1.搜索镜像
docker search opengauss
2.拉取镜像
docker pull docker.io/enmotech/opengauss
3.启动镜像为容器
docker run --name opengauss \
--privileged=true \
-d -v /etc/localtime:/etc/localtime \
-p 8888:5432 \
-e GS_NODENAME=gaussdb \
-e GS_PASSWORD=Enmo@123 \
-e GS_USERNAME=gaussdb \
-e GS_PORT=5432 \
--name=gauss \
enmotech/opengauss:latest
启动参数解释
GS_PASSWORD
设置openGauss数据库的超级用户omm以及测试用户gaussdb的密码,需要:密码长度8个字符以上,必须同时包含英文字母,数字,以及特殊符号
GS_NODENAME
指定数据库节点名称 默认为gaussdb
GS_USERNAME
指定数据库连接用户名 默认为gaussdb
GS_PORT
指定数据库端口,默认为5432。
4.下载windows客户端DataStudio连接工具
https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/DataStudio_win_64.zip
5.使用DataStudio连接数据库(默认数据库为 postgres )
6.安装成功
7.添加模拟数据
(1).右键创建数据库创建模式,创建普通表,添加字段
(2).选中表右键导入表数据
(3).在终端控制台进行查询
8.jdbc开发连接调试
(1).jdbc依赖下载地址,这里使用2.0.0,根据自己安装的数据库版本下载对应的jdbc,将依赖添加到开发工具的环境中
https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/x86/openGauss-2.0.0-JDBC.tar.gz
(2).上代码 字符串注意使用单引号,双引号会被识别成字段,会提示不存在 [does not exist]
import java.sql.*;
import java.util.ArrayList;
public class Client {
public static void main(String[] args) throws Exception {
String url = "jdbc:postgresql://bigdata02:8888/mydb";//连接地址
String user = "gaussdb";//用户名
String password = "Enmo@123";//密码
Class.forName("org.postgresql.Driver");//加载驱动
Connection conn = DriverManager.getConnection(url, user, password);//获取连接
Statement stat = conn.createStatement();
String sqlInit = "SET search_path = 'myModel'";
stat.execute(sqlInit);//进入之前创建的myModel模式中
String sql = "select * from tb";
ResultSet rs = stat.executeQuery(sql);//执行查询语句
ResultSetMetaData metaData = rs.getMetaData();//获取字段列表
ArrayList keys = new ArrayList<>(metaData.getColumnCount());//记录字段信息
for (int i = 0; i < metaData.getColumnCount(); i++) {
keys.add(metaData.getColumnName(i + 1));//获取字段从1开始
}
while (rs.next()) {//解析字段值
for (String key : keys) {
String value = rs.getString(key);
System.out.print(key + ":" + value + " ");
}
System.out.println();
}
stat.close();//回收资源
rs.close();
conn.close();
}
}
(3).运行结果
8.Psycopg开发(Python)连接调试
(1).安装psycopg2依赖
pip3 install psycopg2
(2).上python3代码
import psycopg2
# 创建连接对象
conn = psycopg2.connect(database="postgres", user="gaussdb", password="Enmo@123", host="bigdata02", port="8888")
cur = conn.cursor() # 创建指针对象
# 创建表
cur.execute("CREATE TABLE student(id integer,name varchar,sex varchar);")
# 插入数据
cur.execute("INSERT INTO student(id,name,sex)VALUES(%s,%s,%s)", (1, 'Aspirin', 'M'))
cur.execute("INSERT INTO student(id,name,sex)VALUES(%s,%s,%s)", (2, 'Taxol', 'F'))
cur.execute("INSERT INTO student(id,name,sex)VALUES(%s,%s,%s)", (3, 'Dixheral', 'M'))
# 获取结果
cur.execute('SELECT * FROM student')
results = cur.fetchall()
print(results)
# 关闭连接
conn.commit()
cur.close()
conn.close()
(3).运行结果