侧边栏壁纸
博主头像
faneok博主等级

重剑无锋,大巧不工

  • 累计撰写 33 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Kingbase 数据库导入导出

faneok
2025-06-02 / 0 评论 / 0 点赞 / 87 阅读 / 6479 字

sys_dump 参数说明

sys_dump 是 Kingbase(金仓数据库)的数据库导出工具,用于将数据库结构和数据导出为 SQL 脚本或其他格式。以下是常用参数的详细说明:

连接参数

参数 简写 说明
--dbname -d 指定要连接的数据库名称
--host -h 数据库服务器主机名或IP地址
--port -p 数据库服务器端口号
--username -U 连接数据库的用户名
--password -W 强制提示输入密码

输出控制参数

参数 简写 说明
--file -f 将输出发送到指定文件
--format -F 输出格式:p(plain文本)、c(custom)、t(tar)
--verbose -v 详细模式
--quiet -q 静默模式,不显示进度信息

内容选择参数

参数 说明
--schema-only 只导出表结构,不导出数据
--data-only 只导出数据,不导出表结构
--schema -n
--table -t
--exclude-table 排除指定表
--exclude-schema 排除指定模式
--no-tablespaces 不导出表空间信息

SQL 输出控制

参数 说明
--inserts 使用 INSERT 语句代替 COPY
--column-inserts 使用带有列名的 INSERT 语句
--no-comments 不导出注释
--no-publications 不导出发布
--no-security-labels 不导出安全标签
--no-subscriptions 不导出订阅
--no-sync 不等待更改写入磁盘

对象控制参数

参数 说明
--clean 在创建命令前添加删除命令
--create 包含创建数据库的命令
--if-exists 使用 IF EXISTS 子句
--no-owner 不设置对象所有权
--no-privileges 不导出权限信息
--serializable-deferrable 等待无异常转储

其他参数

参数 说明
--help 显示帮助信息
--version 输出版本信息
--lock-wait-timeout 设置锁等待超时时间
--no-unlogged-table-data 不导出未记录的表数据
--use-set-session-authorization 使用 SET SESSION AUTHORIZATION 代替 OWNER TO

使用示例

  1. 导出整个数据库(结构和数据):
sys_dump -U username -d mydb -f mydb_backup.sql
  1. 只导出表结构:
sys_dump -U username --schema-only -d mydb -f structure.sql
  1. 只导出特定表的数据:
sys_dump -U username --data-only -t mytable -d mydb -f data.sql
  1. 导出为自定义格式(可用于 sys_restore):
sys_dump -U username -F c -d mydb -f mydb.dump

注意:具体参数可能因 Kingbase 版本不同而略有差异,建议使用 sys_dump --help 查看您当前版本的完整参数列表。

扩展初始化

--
-- 初始化脚本使用说明
-- 导出命令:sys_dump -Usystem -h127.0.0.1 -p54321 -d HTOADB -n HTOADB -f HTOADB_$(date +"%m%d%H%M").sql
-- 修正脚本:sed -i -e '1,29d' -e '1r ksinit.sql' HTOADB.sql
-- 执行替换:sed -i -e 's/HTOADB/目标库名/g' -e 's/原始库名/目标库名/g' HTOADB.sql
-- 导入命令:ksql -U system -h 127.0.0.1 -p 54321 -d test -f HTOADB.sql
-- 
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', 'public', false);
SET exclude_reserved_words = '';
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
SET default_with_oids = off;
SET default_with_rowid = off;

-- database
CREATE USER HTOADB WITH PASSWORD 'HTOADB';
CREATE DATABASE HTOADB WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'zh_CN.UTF-8' LC_CTYPE = 'zh_CN.UTF-8';
ALTER DATABASE HTOADB OWNER TO HTOADB;
\connect "HTOADB"

-- schema
CREATE SCHEMA "HTOADB";
ALTER SCHEMA "HTOADB" OWNER TO "HTOADB";
SET search_path TO HTOADB;
0

评论区