文章图片
因为OushuDB和PostgreSQL兼容,所以可以使用PostgreSQL的驱动和编程接口来访问OushuDB。
● https://jdbc.postgresql.org/
● https://www.postgresql.org/do...
● https://odbc.postgresql.org/
JDBC例子
下面给出一个简单的JDBC访问OushuDB的例子。
// OushuDBJDBC.javaimport java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSetMetaData;
public class OushuDBJDBC {public static Connection getConn() {Connection conn = null;
try {Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres";
try {conn = DriverManager.getConnection(url, "ChangLei", "");
}catch (SQLException e) {e.printStackTrace();
}}catch (ClassNotFoundException e) {e.printStackTrace();
}return conn;
}public static void main(String[] args) {Connection conn= getConn();
String sql = "select * from gp_segment_configuration";
try {Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int numCol = rsmd.getColumnCount();
for (int i = 0;
i < numCol;
i++) {System.out.print(rsmd.getColumnName(i + 1) + ' ');
}System.out.println();
while(rs.next()) {for (int i = 0;
i < numCol;
i++) {System.out.print(rs.getString(i + 1) + ' ');
}System.out.println();
}}catch (SQLException e) {e.printStackTrace();
}}}
编译运行上面的代码需要下面几步:
● 安装JDK,并确认java和javac命令工作
● 拷贝上面的代码到 OushuDBJDBC.java,需要更改下面这行里面的OushuDB用户名和密码。
为了访问OushuDB,如果你还没有一个用户,你需要创建一个用户,并为其分配权限,而且修改pg_hba.conf让该用户可以连接数据库。可以参见如下连接:
- 创建用户:http://www.oushu.com/docs/haw... - 分配权限:http://www.oushu.com/docs/haw...
- 修改pg_hba.conf: https://www.postgresql.org/do... 注意修改pg_hba.conf后master节点需要重新加载pg_hba.conf,可以使用命令:hawq stop
- --reloadconn = DriverManager.getConnection(url, "ChangLei", "");
wget https://jdbc.postgresql.org/d...
编译
javac -cp ./postgresql-9.4.1212.jar OushuDBJDBC.java
运行OushuDBJDBC
changlei:dev ChangLei$ java OushuDBJDBC
registration_order role status port hostname address description
0 m u 5432 changlei changlei null
1 p u 40000 localhost 127.0.0.1
推荐阅读
- OushuDB 用户指南图算法之点类型
- OushuDB 用户指南图算法之边类型
- OushuDB 用户指南图算法之GQL脚本命令
- OushuDB 用户指南之类型转换
- OushuDB 用户指南之类型转换值存储
- OushuDB 创建和管理外部表(下)