tencent cloud

腾讯云数据仓库 TCHouse-P

产品动态
产品简介
产品概述
应用场景
节点规格
集群架构
购买指南
计费概述
购买方式
欠费说明
快速入门
操作指南
管理集群
访问数据仓库
监控告警
访问管理
性能指标
TPC-B
工具及下载
数据接入
使用 DataX 离线导入 TencentDB 数据
DataX 增量同步导入 MySQL 数据
使用外表高速导入或导出 COS 数据
使用外表同步 EMR 数据
使用 rule 规则实现云数据仓库 PostgreSQL upsert 操作
数仓开发
云上搭建 Airflow
API 文档
History
Introduction
API Category
Making API Requests
Information Query APIs
Instance APIs
Query APIs
Cluster Management APIs
Cluster Operation APIs
Data Types
Error Codes
实践教程
数仓表开发
表分布键选择
表存储格式选择
表分区使用
插件使用
冷备数据
统计信息和空间维护
常见问题
联系我们

连接数据库

PDF
聚焦模式
字号
最后更新时间: 2026-03-13 15:33:00
默认情况下仅支持同一 VPC 子网下的 CVM 服务器对腾讯云数据仓库 TCHouse-P 集群进行访问;如需支持公网直接访问数据仓库集群,请申请 外网地址
您在创建好数据仓库集群,开始使用数据库服务前,需要使用数据库客户端连接到数据库。请参考以下指导,使用 psql 客户端工具连接数据库。
1. 获取集群访问地址:通过集群 JDBC URL 中的 IP 和端口连接数据库。
2. 连接到集群数据库:安装客户端并连接集群数据库。

前提条件

1. 已获取腾讯云数据仓库 TCHouse-P 集群的数据库管理员密码。数据库管理员密码为开始创建集群时设置的管理员账号密码。
2. 已获取创建好的腾讯云数据仓库 TCHouse-P 集群的访问 IP、端口以及 VPC 和子网。

获取集群访问地址和本地网络

选择对应的集群,详细信息如图所示,获取 VPC 网络:vpc-aejsd98p,子网:subnet-83knqldq。链接 Snova 的 IP 为10.0.6.10,端口为5432,登录账户为 lambuser。




命令行连接到集群数据库

在获取的 VPC 网络:vpc-aejsd98p,子网:subnet-83knqldq 中选择一台 CVM 服务器(如果不存在,则购买一台即可)。登录该服务器,执行以下命令,即可安装 PostgreSQL 客户端。
yum install -y postgresql.x86_64
执行下面的 SQL 命令,然后输入创建集群时输入的密码,即可登录成功。
psql –h10.0.6.10  –p5432  –dpostgres  –Ulambuser

JDBC 连接数据库

需要获取 PostgresSQL 官方提供的 JDBC,下载地址
或者在 pom.xml 文件中添加如下配置:
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.2</version>
</dependency>
</dependencies>

示例代码

package com.qcloud.snova_conn;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.yammer.metrics.core.Meter;

public class SnovaConn {
/*
* args: vip vport user pwd
*/
public static void main(String[] args) throws ClassNotFoundException, SQLException {

if (args.length < 4){
System.out.println("args err");
return;
}

String vip = args[0];
String vport = args[1];
String userName = args[2];
String userPwd = args[3];

System.out.printf("vip:%s, vport:%s, userName:%s, userPwd:%s\\n",vip, vport, userName, userPwd);
String jdbcUrl = "jdbc:postgresql://" + vip+":"+vport+"/maxluo";
System.out.printf("jdbcUrl:%s \\n",jdbcUrl);

Class.forName("org.postgresql.Driver");
Connection snova = DriverManager.getConnection(jdbcUrl,userName,userPwd);
Statement st = snova.createStatement();
ResultSet rs = st.executeQuery("select * from test;");
while (rs.next()) {
System.out.print(rs.getString(1));
System.out.print("\\n");
}
rs.close();
st.close();
}
}

pom.xml 配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.qcloud</groupId>
<artifactId>snova-conn</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>snova-conn</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.2</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.4.0.jre8</version>
</dependency>
<dependency>
<groupId>com.yammer.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.9</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>*.properties</exclude>
<exclude>*.xml</exclude>
<exclude>*.json</exclude>
<exclude>*.sh</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<type>jar</type>
<includeTypes>jar</includeTypes>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
然后采用 Maven 打包生成 jar 文件,并把该 jar 包上传至 CVM 服务器(该腾讯云数据仓库 TCHouse-P 集群所在 VPC 子网中的任意一台 CVM 均可)。
执行以下命令安装 jdk。
yum install java
执行命令:
java –cp snova-conn-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.qcloud.snova_conn.SnovaConn 10.0.8.5 5436 lambuser lambpwd11
注意:
VIP 和端口分别为腾讯云数据仓库 TCHouse-P 集群链接地址,用户名和密码分别是创建集群时填写的信息,具体获取方式见前文。
通过命令行方式建立数据库和数据表,并插入一定量的数据。
查询结果如下,可以读取到事先建立的数据库 maxluo 中表 test 中的数据:



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈