news 2026/4/17 13:11:09

瀚高数据库导出数据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/4/13 10:36:51

为什么Java面试老爱问高并发?

不知道大家最近去面试过没有?有去面试过的小伙伴应该会知道现在互联网企业招聘对于“高并发”这块的考察可以说是越来越注重了。基本上你简历上有高并发相关经验,就能成为企业优先考虑的候选人。其原因在于,企业真正需要的是能独立解决问题的…

作者头像 李华
网站建设 2026/4/12 2:04:49

Redis业务范围广泛,Java程序员如何合理使用?

大家都知道Redis的业务范围是非常广的,但是对于刚入行的小伙伴来说可能也就知道个缓存跟分布式锁。因为Redis的很多功能在一些小企业里,根本是用不到的,得等到并发量到了一定的程度,系统扛不住了,才会用到Redis那些高级…

作者头像 李华
网站建设 2026/4/17 5:07:34

【毕设】基于Python计算机视觉答题卡的设计与实现

💟博主:程序员俊星:CSDN作者、博客专家、全栈领域优质创作者 💟专注于计算机毕业设计,大数据、深度学习、Java、小程序、python、安卓等技术领域 📲文章末尾获取源码数据库 🌈还有大家在毕设选题…

作者头像 李华
网站建设 2026/4/7 14:07:03

【计算机毕设】python基于模板的药品名称识别系统

💟博主:程序员小俊:CSDN作者、博客专家、全栈领域优质创作者 💟专注于计算机毕业设计,大数据、深度学习、Java、小程序、python、安卓等技术领域 📲文章末尾获取源码数据库 🌈还有大家在毕设选题…

作者头像 李华
网站建设 2026/4/13 13:36:37

Rubin“零线缆”液冷模组技术介绍

“Rubin‘零线缆’液冷模组”是英伟达(NVIDIA)在其最新发布的Rubin架构中引入的一项重要技术创新。 1. 技术核心 核心点是零线缆(Cableless)液冷设计 传统问题是传统数据中心GPU的液冷系统需要大量管线、接头和外部泵组&#xf…

作者头像 李华