操作目的:
PostgreSQL数据库在不同模式之间迁移数据,可用于在异机数据迁移的场景。
今天网友问到一个问题,是在数据迁移的场景中,想把源库的数据迁移到不同的schema下面,比如从schema gaoqiang,迁移到schema mayday。
schema(模式)这种概念在Oracle中,可以把用户认为就是schema,比如用户gaoqiang的模式就是gaoqiang;在其他数据库中不一定是一一严格对应的,具有一定的灵活性。在PostgreSQL数据库中,模式和用户可以单独创建,也可一起创建。
操作思路:
从备份导出原有的schema gaoqiang的数据--->新建用户、模式 mayday--->修改相关配置--->导入数据到新的模式Mayday--->验证数据完整性以及属性
导出数据库music中的模式gaoqiang的表结构和数据:
-bash-4.1$ pg_dump -d music -n gaoqiang -f /tmp/gaoqiang.sql
点击(此处)折叠或打开
-bash-4.1$ cat gaoqiang.sql
--
-- PostgreSQL database dump
--
SET statement_timeout = 0;
SET lock_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
SET client_min_messages = warning;
--
-- Name: gaoqiang; Type: SCHEMA; Schema: -; Owner: gaoqiang
--
CREATE SCHEMA gaoqiang;
ALTER SCHEMA gaoqiang OWNERTOgaoqiang;
SETsearch_path=gaoqiang,pg_ca