金仓数据库KingbaseES 转储功能—— sys_dump使用进阶
关键字:
KingbaseES、sys_dump、数据转储、备份、人大金仓
sys_dump的控制参数
前两节为大家介绍了sys_dump是将数据库抽取到一个脚本文件或归档文件中的重要功能。dump出的文件类型有纯文本文件或者归档文件,分别介绍了两种文件类型的区别以及KingbaseES中sys_dump的基本使用方法。除了dump的链接参数之外,dump还有针对数据文件的控制参数,这是dump的高阶使用技巧,下面介绍一些常用的高阶参数设置。
dump的控制参数之控制参数
-a --data-only
只转储数据,而不转储模式
-E encoding --encoding=encoding
以指定的字符集编码创建转储
-f file --file=file
将输出发送到指定文件
-F format --format=format
选择输出的格式
-v --verbose
指定冗长模式
-s --schema-only
只转储对象定义
--no-comments
不转储注释
--no-tablespaces
不输出选择表空间的命令
--no-unlogged-table-data
不转储非日志记录表的内容
采用这些控制参数,可以对dump的结果进行控制,这给用户带来极大的便利,用户在使用dump时也会更加灵活,可以选择性的备份信息
金仓数据库KingbaseES中sys_dump的使用
在KingbaseES中,对于dump的使用法格式是:
sys_dump [ connection-option ...] [ option ...] [ dbname ]
使用实例:用户shower通过端口54111备份127.0.0.1号主机的show_create数据库,不提示密码,转储到test.sql文件中。
[root@kes_0_14 bin]$ ./sys_dump -h 127.0.0.1 -p 54111 -Ushower -dshow_create -w --no-password –f test.sql
使用该命令,将在bin目录下生成一个test.sql,其中存储了show_create数据库。
以下是show_create数据库的备份内容:
--
-- Kingbase database dump
--
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 check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
SET default_with_oids = off;
--
-- Name: gener; Type: TABLE; Schema: public; Owner: shower
--
CREATE TABLE public.gener (
id integer,
num integer,
gener integer GENERATED ALWAYS AS ((1 + 1)) STORED
);
ALTER TABLE public.gener OWNER TO shower;
--
-- Name: cities; Type: TABLE; Schema: public; Owner: shower
--
CREATE TABLE public.cities (
city_id bigint NOT NULL,
name text NOT NULL,
population bigint
)
PARTITION BY LIST ("left"(lower(name), 1));
ALTER TABLE public.cities OWNER TO shower;
--
-- Name: cities_ab; Type: TABLE; Schema: public; Owner: shower
--
CREATE TABLE public.cities_ab (
city_id bigint DEFAULT nextval('public.cities_city_id_seq'::regclass) NOT NULL,
name text NOT NULL,
population bigint,
CONSTRAINT city_id_nonzero CHECK ((city_id <> 0))
);
ALTER TABLE ONLY public.cities ATTACH PARTITION public.cities_ab FOR VALUES IN ('a', 'b');
ALTER TABLE public.cities_ab OWNER TO shower;
从dump生成的文件可见,采用了UTF8编码格式,show_create数据库中表的所有者是用户shower,在public模式下有两张数据表gener和cities,cities_ab是cities的一个分区,表结构如上表中的内容所示。Dump为用户提供了一个强大的数据库备份与恢复能力,在实际的生产中具有重要作用,更加灵活地使用方法请参见《KingbaseES产品手册》。
金仓数据库始终践行成就客户的核心价值观,坚持以奋斗者为本,为创业者搭台的价值导向,努力完善数据库产品,引领国产数据库越好又快向前发展,努力成为世界卓越的数据库产品与服务提供商。