이 글에서는 MPP DBMS Greenplum이 설치된 곳에 jdbc Java app을 테스트 해 보도록 합니다.
Table Of Contents
Greenplum JDBC Dirver
greenplum은 기본적으로 jdbc driver를 제공하지 않습니다.
검색해보니 datadirect라는 영리 회사에서 greenplum용 jdbc driver를 만들어서 제공하는데 일단 오픈소스는 아니어서 오픈소스로 사용할 수 있는 jdbc driver를 찾아보았습니다.
아래 링크에서 공식 postgresql jdbc를 다운로드 할 수 있습니다.
https://jdbc.postgresql.org/download/
https://oss.sonatype.org/content/repositories/snapshots/org/postgresql/postgresql/42.6.1-SNAPSHOT/
JDBC 테스트 프로그램
아래의 테스트 프로그램을 통해서 gpadmin이라는 database를 생성한 곳에 접속하고 테이블을 생성해 봅니다.
public class PostgreSQLJDBC {
public static void main(String args[]) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection("jdbc:postgresql://localhost:7000/gpadmin", "gpadmin", "");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "CREATE TABLE STUDENTS " +
"(ID TEXT PRIMARY KEY NOT NULL ," +
" NAME TEXT NOT NULL, " +
" SEX TEXT NOT NULL, " +
" AGE TEXT NOT NULL)";
stmt.executeUpdate(sql);
System.out.println("Table created successfully");
stmt.close();
c.commit();
c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
}
}
위의 코드를 PostgreSQLJDBC.java로 생성하고 javac PostgreSQLJDBC.java를 입력하여 컴파일 한 후 다음의 명령으로 테스트 합니다.
gpadmin:~/work/jdbc_test$ ls
PostgreSQLJDBC.class PostgreSQLJDBC.java postgresql-42.6.1-20230830.141420-30.jar
gpadmin:~/work/jdbc_test$ env |grep CLASS
gpadmin:~/work/jdbc_test$ export CLASSPATH=`pwd`/postgresql-42.6.1-20230830.141420-30.jar:.
gpadmin:~/work/jdbc_test$ env |grep CLASSPATH
CLASSPATH=/home/gpadmin/work/jdbc_test/postgresql-42.6.1-20230830.141420-30.jar
gpadmin:~/work/jdbc_test$ java PostgreSQLJDBC
Opened database successfully
Table created successfully
글PostgreSQL JDBC 드라이버로 정상적으로 접속되고 테이블 생성이 되는 것을 확인하였습니다.
psql을 통해 접속후에 해당 테이블이 생겼는지 확인합니다.
gpadmin:~/work/jdbc_test$ psql
psql (12.12)
Type "help" for help.
gpadmin=# select * from students;
id | name | sex | age
----+------+-----+-----
(0 rows)
gpadmin=#
'DBMS' 카테고리의 다른 글
SingleStore Distributed DBMS 소개 및 linux에 설치(install)하기 (0) | 2023.12.08 |
---|---|
MPP DBMS Greenplum 테스트 (0) | 2023.12.08 |
그린플럼(Greenplum Database)와 고객(Customer) 리스트 (0) | 2023.12.07 |
Greenplum mpp dbms의 github 알아보기 - source code layout (0) | 2023.12.06 |
우분투에서 레디스 설치하고 CLI를 통해 테스트하는 가장 쉬운 방법 (0) | 2023.12.04 |