云原生数据仓库AnalyticDB PostgreSQL版支持使用PostgreSQL或Greenplum的JDBC驱动包连接。本文介绍如何通过JDBC连接数据库。

前提条件

  • 已获取AnalyticDB PostgreSQL版实例的连接地址。

    • 如果您的客户端部署在与AnalyticDB PostgreSQL版实例在同一地域且网络类型相同的ECS上,则可以使用内网地址进行连接。登录云原生数据仓库AnalyticDB PostgreSQL版控制台基本信息页面的数据库连接信息区域,即可查看内网地址

    • 如果您的客户端部署在与AnalyticDB PostgreSQL版实例在不同地域或网络类型不同的ECS或者阿里云以外的系统上,则需要申请外网地址后使用外网地址进行连接。申请外网地址的方法,请参见管理外网地址

  • 已获取客户端的IP地址,并将客户端地址加入AnalyticDB PostgreSQL版实例白名单中。具体操作,请参见设置白名单

操作步骤

  1. 下载方法如下:

    • 下载PostgreSQL官方的JDBC驱动,下载之后加入到环境变量中。

    • 说明

      云原生数据仓库 AnalyticDB PostgreSQL 版7.0对JDBC版本有特殊要求,需要JDBC V42.2.0及以上版本。

    • 下载Greenplum官方的JDBC驱动,下载之后加入到环境变量中。

  2. 代码示例如下:

    import java.sql.Connection;  
    import java.sql.DriverManager;  
    import java.sql.ResultSet;  
    import java.sql.SQLException;  
    import java.sql.Statement;  
    public class gp_conn {  
        public static void main(String[] args) {  
            try {  
                Class.forName("org.postgresql.Driver");  
                Connection db = DriverManager.getConnection("<jdbc:postgresql://mygpdbpub.gpdb.rds.aliyuncs.com:5432/postgres>","myusername","mypassword");  
                /*
                jdbc:postgresql://mygpdbpub.gpdb.rds.aliyuncs.com:5432/postgres>:数据库连接地址
                myusername:数据库账号
                mypassword:数据库密码
                */
                Statement st = db.createStatement();  
                ResultSet rs = st.executeQuery("<SELECT * FROM gp_segment_configuration;>");  
                while (rs.next()) {  
                    System.out.print(rs.getString(1));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(2));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(3));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(4));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(5));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(6));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(7));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(8));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(9));  
                    System.out.print("    |    ");  
                    System.out.print(rs.getString(10));  
                    System.out.print("    |    ");  
                    System.out.println(rs.getString(11));  
                }  
                rs.close();  
                st.close();  
            } catch (ClassNotFoundException e) {  
                e.printStackTrace();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
        }  
    }

更多关于JDBC驱动的信息,请参见JDBC驱动文档

相关文档

Greenplum官网也提供了安装包,包含JDBC、ODBC和libpq,您可以方便地安装和使用。具体内容,请参见Greenplum官方文档