news 2026/6/17 7:33:23

瀚高数据库导出数据sql脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
瀚高数据库导出数据sql脚本

瀚高数据库(Highgo DB)基于 PostgreSQL 内核开发,完全兼容 PostgreSQL 的逻辑备份工具 pg_dump,同时支持瀚高自研的highgo_dump工具(功能与 pg_dump 一致,适配瀚高全版本),以下提供通用导出 SQL 脚本、分场景细化方案、导入恢复方法,覆盖单表、单库、多表、带结构 / 仅数据等核心需求,可直接在 Linux/Windows 命令行执行。

一、核心前提:工具位置与环境配置

1. 工具默认路径(瀚高安装后)

  • Linux 系统:$HGDB_HOME/bin/(HGDB_HOME 为瀚高安装根目录,如/opt/HighGoDB-5.6.0/bin/)
  • Windows 系统:HGDB安装目录\bin\(如C:\Program Files\HighGoDB\5.6.0\bin\)

2. 便捷操作:配置环境变量(可选)

Linux 执行以下命令(临时生效,永久生效需写入/etc/profile或~/.bashrc):

exportPATH=$HGDB_HOME/bin:$PATHexportPGDATA=$HGDB_HOME/data# 数据库数据目录,可选

Windows:将 bin 目录添加到「系统变量 - Path」中,重启命令行即可全局调用pg_dump/highgo_dump。

二、通用基础导出命令(最常用)

适用场景

导出单个数据库的完整结构 + 全量数据,生成可直接执行的 SQL 脚本(包含建库、建表、建索引、插入数据等所有语句),适用于数据库迁移、全量备份。

核心命令(pg_dump/highgo_dump 通用,二选一)

# 方式1:使用pg_dump(推荐,兼容PostgreSQL生态)pg_dump -h 数据库IP -p 端口号 -U 用户名 -d 数据库名 -f 导出脚本保存路径.sql -F p# 方式2:使用瀚高自研highgo_dump(适配瀚高全版本,无兼容问题)highgo_dump -h 数据库IP -p 端口号 -U 用户名 -d 数据库名 -f 导出脚本保存路径.sql -F p

参数说明(必看,按需修改)

参数含义示例
-h数据库服务端 IP(本地连接可省略,写127.0.0.1也可)-h 192.168.1.100
-p瀚高数据库端口(默认 5866,切勿与 PostgreSQL 默认 5432 混淆)-p 5866
-U数据库用户名(瀚高默认管理员用户sysdba)-U sysdba
-d要导出的数据库名-d mydb
-f导出的 SQL 脚本路径(含文件名,目录需提前创建)-f /data/backup/mydb_full.sql(Linux)
-f D:\backup\mydb_full.sql(Windows)
-F p输出格式为纯 SQL 文本(必选,否则生成二进制备份文件,无法直接执行)固定写-F p
执行示例(本地连接,最简版)
# 本地瀚高数据库,默认端口5866,用户sysdba,导出mydb库到/backup目录pg_dump -U sysdba -d mydb -f /backup/mydb_full.sql -F p

执行后会提示输入用户密码(瀚高默认 sysdba 密码为Highgo@123,若修改过则输入新密码)。

三、分场景细化导出方案(满足个性化需求)

场景 1:仅导出数据,不导出表结构(保留原有库表结构,仅补数据)

核心参数:-a(–data-only,仅数据)

# 仅导出mydb库的所有数据,无建表/建索引语句pg_dump -h192.168.1.100 -p5866-U sysdba -d mydb -a -f /backup/mydb_only_data.sql -F p

场景 2:仅导出数据库结构,无数据(用于建空库)

核心参数:-s(–schema-only,仅结构)

# 仅导出mydb库的建库、建表、建索引、约束等结构,无INSERT数据pg_dump -h192.168.1.100 -p5866-U sysdba -d mydb -s -f /backup/mydb_only_schema.sql -F p

场景 3:导出指定单个表 / 多个表(精准导出,避免全库冗余)

核心参数:-t 表名(单个表)、-t 表名1 -t 表名2(多个表,空格分隔)

# 示例1:导出mydb库中的user表(结构+数据)pg_dump -U sysdba -d mydb -t user -f /backup/mydb_user.sql -F p# 示例2:导出mydb库中的user、order、goods三张表(结构+数据)pg_dump -U sysdba -d mydb -t user -t order -t goods -f /backup/mydb_3tables.sql -F p# 示例3:仅导出指定表的数据(无结构),组合-a和-tpg_dump -U sysdba -d mydb -a -t user -f /backup/mydb_user_only_data.sql -F p

场景 4:导出时忽略指定表(排除无需备份的表,如日志表)

核心参数:-T 表名(忽略单个表)、-T 表名1 -T 表名2(忽略多个表)

# 导出mydb库全量数据+结构,排除log表(日志表)和temp表(临时表)pg_dump -U sysdba -d mydb -T log -T temp -f /backup/mydb_exclude_tables.sql -F p

四、SQL 脚本导入 / 恢复方法(配套使用,缺一不可)

导出的 SQL 脚本可通过psql(瀚高 / PostgreSQL 通用客户端)执行,直接恢复到目标瀚高数据库,步骤如下:

前提

  1. 目标数据库已创建(若导出的是全库结构 + 数据,需先建空库):
# 登录瀚高客户端,创建空库(示例:创建mydb_new库)psql -U sysdba create database mydb_new;\q# 退出客户端
  1. 目标数据库与源数据库的表结构一致(若仅导入数据)。
    通用导入命令
# psql导入SQL脚本到指定数据库psql -h 目标库IP -p 目标库端口 -U 用户名 -d 目标数据库名 -f 导出的SQL脚本路径

导入示例

# 将mydb_full.sql导入到本地瀚高的mydb_new库中psql -U sysdba -d mydb_new -f /backup/mydb_full.sql

执行后输入密码,等待脚本执行完成即可(大库需耐心等待,无报错即恢复成功)。

五、关键注意事项(避坑必备)

  1. 端口注意:瀚高数据库默认端口是 5866,不是 PostgreSQL 的 5432,切勿写错,否则连接失败;
  2. 权限要求:执行导出的用户(如 sysdba)需拥有源数据库的 SELECT 权限,导出表结构还需拥有 USAGE/SELECT ON ALL TABLES 权限;
  3. 路径权限:-f指定的导出目录需提前创建,且执行命令的系统用户(如 root、highgo)拥有该目录的写权限,否则提示 “权限拒绝”;
  4. 大库处理:若数据库数据量较大(GB 级以上),建议导出时添加-j 4(并行导出,4 为并发数,根据服务器 CPU 调整),提升导出速度;
  5. 编码一致:源数据库和目标数据库的编码需保持一致(如 UTF8),否则导入时会出现中文乱码,可通过\l在 psql 中查看数据库编码;
  6. 工具兼容:瀚高 4.x 及以上版本完全兼容 pg_dump,若使用低版本瀚高,建议优先使用highgo_dump,避免兼容性问题。

六、快速总结

  1. 瀚高数据库导出 SQL 脚本的核心工具是pg_dump(推荐)和highgo_dump,二者参数完全一致;
  2. 通用全量导出命令:pg_dump -U 用户名 -d 库名 -f 路径.sql -F p(本地连接);
  3. 常用参数组合:-a(仅数据)、-s(仅结构)、-t(指定表)、-T(排除表);
  4. 导入脚本使用psql -d 目标库 -f 脚本路径,前提是目标库已创建且权限足够;
  5. 核心避坑点:默认端口 5866、导出目录写权限、编码一致。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 21:02:42

Java大环境不好,如何应对当下互联网公司的面试?

现在互联网大环境不好,互联网公司纷纷裁员并缩减HC,更多程序员去竞争更少的就业岗位,整的IT行业越来越卷。身为Java程序员的我们就更不用说了,上班8小时需要做好本职工作,下班后还要不断提升技能、技术栈,才…

作者头像 李华
网站建设 2026/6/16 5:52:30

面试官:说一下如何实现零拷贝?

我们总会在各种地方看到零拷贝,那零拷贝到底是个什么东西。 接下来,让我们来理一理啊。 拷贝说的是计算机里的 I/O 操作,也就是数据的读写操作。计算机可是一个复杂的家伙,包括软件和硬件两大部分,软件主要指操作系统…

作者头像 李华
网站建设 2026/6/13 7:50:21

Si8920AD-IS,高精度低噪声的隔离放大器

型号介绍今天我要向大家介绍的是 skyworks 的隔离放大器——Si8920AD-IS。它的任务是将电流分流器两端的微小电压信号放大,并将其安全地传输到控制系统中。电流分流器是一个低电阻的元件,当电流流过它时,会产生一个与电流成正比的电压。Si892…

作者头像 李华
网站建设 2026/5/31 7:44:28

Java面试通关指南(九):架构设计的艺术:从DDD到微服务治理的升华

🔥 前言 架构设计是软件开发的灵魂,是从代码工人向架构师转型的关键。在高级Java面试中,架构设计能力是区分专家与普通开发者的分水岭。本文将带你从领域驱动设计出发,探索微服务治理的完整体系,助你掌握架构设计的核…

作者头像 李华