1.产品功能
在Kingbase ES中可以使用sys_dump将数据库抽取为一个脚本文件或其他归档文件。KES 目前已经支持,其有如下特征:
(1) 即使数据库正在并发使用,它也能创建一致的备份。 (2) 不阻塞其他用户访问数据库(读取或写入)。 (3) 转储以脚本或归档文件格式输出。脚本转储是包含 SQL 命令的纯文本文件,可以使用该脚本文将数据库恢复到转储时的状态。
2.参数设置
Kingbase ES 中采用如下语法格式使用sys_dump:
sys_dump [ connection-option ...] [ option ...] [ dbname ]
其中:
connection-option 用来指定链接选项参数。 option 指定一些配置参数。 dbname用来指定数据库名,如果不指定,将使用环境变量KINGBASE_DATABASE。 Kingbase的sys_dump支持众多参数,可以非常灵活地控制数据库转储的内容,具体的参数列表可以参考Kingbase ES用户手册。下面介绍几种常用的参数: -f file --file=file 将输出发送到指定文件。但是,对于目录输出格式必须给定这个参数,在目录输出格式中指定的是一个目录而不是一个文件。 -t pattern --table=pattern 只转储名字匹配 pattern 的表,table可以是视图、物化视图、序列和外部表。通过写多个 -t 开关可以选择多个表。 -h host --host=host 指定服务器正在运行的机器的主机名。 -p port --port=port 指定连接服务器的端口 -d dbname --dbname=dbname 指定要连接到的数据库名。这等效于指定 dbname 为命令行上的第一个非选项参数。
3.使用示例
下面介绍一个sys_dump的例子:
输入如下命令:
sys_dump –t cities –p 11111 –f cities.sql
将在当前目录下生成一个cities.sql的文件,使用vim打开文件,有如下内容:
-- Kingbase database dump
--
-- Dumped from database version 12.1
-- Dumped by sys_dump version 12.1
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;
SET comp_v7_program_para_def = on;
SET default_tablespace = '';
--
-- Name: cities; Type: TABLE; Schema: public; Owner: Kingbase
--
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 Kingbase;
--
-- Name: cities_city_id_seq; Type: SEQUENCE; Schema: public; Owner: Kingbase
--
CREATE SEQUENCE public.cities_city_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER TABLE public.cities_city_id_seq OWNER TO Kingbase;
--
-- Name: cities_city_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: Kingbase
--
ALTER SEQUENCE public.cities_city_id_seq OWNED BY public.cities.city_id;
--
-- Name: cities city_id; Type: DEFAULT; Schema: public; Owner: Kingbase
--
ALTER TABLE ONLY public.cities ALTER COLUMN city_id SET DEFAULT nextval('public.cities_city_id_seq'::regclass);
--
-- Name: cities_city_id_seq; Type: SEQUENCE SET; Schema: public; Owner: Kingbase
--
SELECT pg_catalog.setval('public.cities_city_id_seq', 1, false);
--
-- Kingbase database dump complete
--
金仓数据库始终坚持为用户着想,从用户角度解决实际问题,同时将始终坚持创新,提升产品质量,引领国产数据库越好又快向前发展,努力成为世界卓越的数据库产品与服务提供商。 更多信息,参见https://help.kingbase.com.cn/v8/index.html