日期:2025-09-23


1 前置准备

参考文档:https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V3.0.8/1/be9d6c2eac154b92a0efaef9e8c6d88a

资源 要求
OS CentOS 7.6+/openEuler 20.03 或其他支持 Docker 19.03+ 的 x86_64 系统
安装包 vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64-20250815104055.tar
端口 宿主机 25432(映射容器 5432)
用户 具有 sudo 权限的普通用户即可

2 目录与权限

sudo mkdir -p /usr/sie/vastbase/{data,license,backup,backup_log}
sudo chown -R 1000:1000 /usr/sie/vastbase   # 容器内 UID 1000

3 导入镜像(离线)

sudo docker load -i vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64-20250815104055.tar
# 输出:Loaded image: vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64:20250815104055

# 打短标签
docker tag vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64:20250815104055 vastbase:g100

4 创建并启动容器

docker run -d --privileged=true \
  -v /usr/sie/vastbase/license:/home/vastbase/vastbase/lic \
  -v /usr/sie/vastbase/data:/home/vastbase/data \
  -v /usr/sie/vastbase/backup:/home/vastbase/backup \
  -v /usr/sie/vastbase/backup_log:/home/vastbase/backup_log \
  -e VB_PASSWORD=****** \
  -e VB_USERNAME=postgres \
  -e VB_DBCOMPATIBILITY=A \
  --name vastbase \
  -p 25432:5432 \
  vastbase:g100
  
  
  
--创建容器脚本
docker run -d --privileged=true -v /usr/sie/vastbase/license:/home/vastbase/vastbase/lic -v /usr/sie/vastbase/data:/home/vastbase/data  -v /usr/sie/vastbase/backup:/home/vastbase/backup -v /usr/sie/vastbase/backup_log:/home/vastbase/backup_log  -e VB_PASSWORD=****** -e VB_USERNAME=postgres -e VB_DBCOMPATIBILITY --name vastbase -p 25432:5432  vastbase:g100

--检查启动日志
docker logs -f --tail 100 vastbase

--进入容器
docker exec -it vastbase bash
环境变量 说明
VB_PASSWORD 超级用户密码(必须 ≥8 位且含大小写+数字+特殊字符)
VB_USERNAME 超级用户名,默认 vastbase;此处设为 postgres
VB_DBCOMPATIBILITY 实例级兼容模式:
A=Oracle(默认)
B=MySQL
PG=PostgreSQL
MSSQL=SQL Server

5 创建MySQL兼容模式并启动容器

sudo mkdir -p /usr/sie/vastbase_b/{data,license,backup,backup_log}

docker run -d --privileged=true \
  -v /usr/sie/vastbase_b/license:/home/vastbase/vastbase/lic \
  -v /usr/sie/vastbase_b/data:/home/vastbase/data \
  -v /usr/sie/vastbase_b/backup:/home/vastbase/backup \
  -v /usr/sie/vastbase_b/backup_log:/home/vastbase/backup_log \
  -e VB_PASSWORD=****** \
  -e VB_USERNAME=postgres \
  -e VB_DBCOMPATIBILITY=B \
  --name vastbase_b \
  -p 25434:5432 \
  vastbase:g100
  

--检查启动日志
docker logs -f --tail 100 vastbase_b

--进入容器
docker exec -it vastbase_b bash

--验证是否安装成功
vsql -d postgres -c 'SELECT version();'

出现以下的日志说明安装成功
[vastbase@b754f1b687e8 ~]$ vsql -d postgres -c 'SELECT version();'                        
------------------------------------------------------------------------------
 PostgreSQL 9.2.4 on x86_64-pc-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit
(1 row)

--创建数据库,用户,角色并授权
第一次连接数据库时可以连接到此数据库。 执行如下命令连接数据库。

vsql -d vastbase -p 5432



6 检查启动结果

# 实时日志
docker logs -f --tail 100 vastbase

看到 database system is ready to accept connections 即启动成功。


7 连接测试

7.1 容器内本地

docker exec -it vastbase su - postgres -c "vsql -d postgres -c 'SELECT version();'"

返回类似:

PostgreSQL 9.2.24 (Vastbase G100 3.0.8) on x86_64-pc-linux-gnu...

7.2 远程连接

任意 PostgreSQL 客户端:

Host: <宿主机IP>
Port: 25432
User: postgres
Password: ******
Database: postgres

测试 SQL:

CREATE DATABASE demo;
\c demo
CREATE TABLE t(id serial primary key, name varchar(20));
INSERT INTO t(name) VALUES ('Vastbase');
SELECT * FROM t;

8 常用运维

操作 命令
启停数据库 docker stop vastbase / docker start vastbase
查看日志 docker logs vastbasedocker exec -it vastbase su - postgres -c "tail -f \$PGDATA/pg_log/postgresql-*.log"
全库逻辑备份 docker exec -it vastbase su - postgres -c "vb_dumpall -f /home/vastbase/backup/full_\$(date +%F).sql"
全库恢复 docker exec -i vastbase su - postgres -c "vsql -f /home/vastbase/backup/full_xxxx.sql"
卸载 docker stop vastbase && docker rm vastbase && sudo rm -rf /usr/sie/vastbase

9 使用管理员账户创建数据库、创建表及向表中插入数据和查询表中数据等操作

参考文档:https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V3.0.8/1/fd2491b87d4644f1b320dcb906f4c255

9.1. 连接默认库

第一次连接数据库时可以连接到此数据库。 执行如下命令连接数据库。

# 以超级用户 vbase 身份登录(初始库也叫 vastbase)
vsql -d vastbase -p 5432 -U vbase -W

9.2 创建业务用户

-- 2.1 创建用户(口令需满足复杂度)
CREATE USER snest_changwen PASSWORD '******';

-- 2.2 授予系统管理员权限(体验用,生产请按最小权限)
GRANT ALL PRIVILEGES TO snest_changwen;

CREATE USER snest_jichen WITH PASSWORD "******";
GRANT ALL PRIVILEGES TO snest_jichen;

9.3. 创建业务数据库

CREATE DATABASE snest_tpcc OWNER snest_changwen;

CREATE DATABASE snest_jichen OWNER snest_jichen;

9.4. 退出当前会话

\q      -- 或 Ctrl+D

9.5. 使用新用户连接新库

vsql -d snest_tpcc -p 5432 -U snest_changwen -W

vsql -d snest_jichen -p 5432 -U snest_jichen

提示密码时输入 ******


9.6. 创建 Schema(同名 schema 免搜索路径设置)

CREATE SCHEMA snest_changwen AUTHORIZATION snest_changwen;

CREATE SCHEMA snest_jichen AUTHORIZATION snest_changwen;

SET search_path TO snest_changwen;   -- 当前会话生效

9.7. 建表 & 插入 & 查询

-- 7.1 建表
CREATE TABLE mytable (
    firstcol INT PRIMARY KEY
);

-- 7.2 写数据
INSERT INTO mytable VALUES (100);

-- 7.3 读数据
SELECT * FROM mytable;

预期结果:

 firstcol
----------
      100
(1 row)

10. 使用Dbeaver工具连接vastbase

主机:ip

端口:25432

数据库:snest_jichen

用户名:snest_jichen

密码:**

数据库类型选择 PostgreSQL ,工具的话直接使用PG的类型就好,但是代码开发的时候,使用cn.com.vastbase.Driver驱动

Vastbase_G100_dbeaver

10.1 默认兼容模型

vastbase数据库访问

########DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_changwen
username=snest_jichen
password=******


########集成环境DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_jc
username=snest_jichen
password=******



########snest_ziyangDBCP##########
driverClassName=org.postgresql.Driver/cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_ziyang
username=snest_jichen
password=******

10.2 MySQL兼容模型

vastbase数据库访问
数据库:snest_tpcc 	端口:25434		用户名:snest_changwen

########DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25434/snest_tpcc?currentSchema=snest_changwen&db_compatibility=mysql
username=snest_changwen
password=******
dbCompatibility=mysql


########DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25434/snest_tpcc?currentSchema=snest_jichen&db_compatibility=mysql
username=snest_changwen
password=******
dbCompatibility=mysql