본문 바로가기
DBMS

MPP DBMS Greenplum java jdbc 테스트 (postgresql 호환)

by developer's warehouse 2023. 12. 7.

이 글에서는 MPP DBMS Greenplum이 설치된 곳에 jdbc Java app을 테스트 해 보도록 합니다.

MPP DBMS Greenplum java jdbc 테스트 썸네일

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=#


facebook twitter kakaoTalk kakaostory naver band shareLink