今天学习openGauss导出数据,以下是作业和心得:
1. 连接openGauss
su - omm gsql -r
2. 创建数据库tpcc,在数据库tpcc中创建模式schema1,在模式schema1中建表products
create database tpcc;
\c tpcc
create schema schema1;
create table schema1.products (product_id INTEGER, product_name Char(20), category Char(30));
INSERT INTO schema1.products (product_id, product_name, category) VALUES (1601, 'lamaze', 'toys'),(1700, 'wait interface', 'Books'),(1666, 'harry potter', 'toys');
\q
\
3. 使用gs_dump工具以文本格式导出数据库tpcc的全量数据
gs_dump -f /home/omm/products_all.sql tpcc -F p
4. 使用gs_dump工具以文本格式导出模式schema1的定义
gs_dump -f /home/omm/products_schema_define.sql tpcc -n schema1 -s -F p
5. 使用gs_dump工具以文本格式导出数据库tpcc的数据,不包含定义
gs_dump -f /home/omm/products_data.sql tpcc -a -F p
6. 删除表、模式和数据库
gsql -r
\c tpcc
drop table schema1.products;
drop schema schema1;
\c omm
drop database tpcc;
\

通过学习和作业,巩固了openGauss导入数据的知识。gs_dump能够帮助用户导出需要的数据库对象或其相关信息。通过导入工具将导出的数据信息导入至需要的数据库,可以完成数据库信息的迁移。 gs_dump支持导出单个数据库或其内的对象,而gs_dumpall支持导出openGauss中所有数据库或各库的公共全局对象。注意:
(1)禁止修改导出的文件和内容,否则可能无法恢复成功。
(2)据库中包含的对象数量(数据表、视图、索引)在50万以上,为了提高性能且避免出现内存问题,建议通过gs_guc工具设置数据库节点的如下参数
gs_guc set -N all -I all -c ‘max_prepared_transactions = 1000’
gs_guc set -N all -I all -c ‘max_locks_per_transaction = 512’
(3)为了保证数据一致性和完整性,导出工具会对需要转储的表设置共享锁。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




