diff --git a/content/zh/post/wllove/gs_dumpall.md b/content/zh/post/wllove/gs_dumpall.md deleted file mode 100644 index df7a04f88befb80a6f4fea316b9df34e80c6f2e0..0000000000000000000000000000000000000000 --- a/content/zh/post/wllove/gs_dumpall.md +++ /dev/null @@ -1,55 +0,0 @@ -+++ -title = "使用gs_dumpall导出所有数据库" -date = "2022-09-01" -tags = ["OpenGauss3.0.0"] -archives = "2020-09" -author = "wllovever" -summary = "OpenGauss3.0.0" -img = "" -times = "15:10" -+++ - -1.gs_dumpall命令介绍: -penGauss支持使用gs_dumpall工具导出所有数据库的全量信息,包含openGauss中每个数据库信息和公共的全局对象信息。可根据需要自定义导出如下信息: -导出所有数据库全量信息,包含openGauss中每个数据库信息和公共的全局对象信息(包含角色和表空间信息)。 -使用导出的全量信息可以创建与当前主机相同的一个主机环境,拥有相同数据库和公共全局对象,且库中数据也与当前各库相同。 -仅导出数据,即导出每个数据库中的数据,且不包含所有对象定义和公共的全局对象信息。 -仅导出所有对象定义,包括:表空间、库定义、函数定义、模式定义、表定义、索引定义和存储过程定义等。 -使用导出的对象定义,可以快速创建与当前主机相同的一个主机环境,拥有相同的数据库和表空间,但是库中并无原数据库的数据。 - -2.gs_dumpall命令详解: -gs_dumpall -U omm -f /home/omm/backup/MPPDB_backup.sql -p 8000 -参数说明: --U -连接数据库的用户名,需要是openGauss管理员用户。 --W -指定用户连接的密码。 -如果主机的认证策略是trust,则不会对数据库管理员进行密码验证,即无需输入-W选项; -如果没有-W选项,并且不是数据库管理员,会提示用户输入密码。 --f -将导出文件发送至指定目录文件夹。如果这里省略,则使用标准输出 --p -指定服务器所监听的TCP端口或本地Unix域套接字后缀,以确保连接。 - -3.具体示例 -示例一:执行gs_dumpall,导出所有数据库全量信息(omm用户为管理员用户),导出文件为文本格式。执行命令后,会有很长的打印信息,最终出现total time即代表执行成功。示例中将不体现中间的打印信息。 -gs_dumpall -U omm -f /home/omm/backup/MPPDB_backup.sql -p 8000 -Password: -gs_dumpall[port='8000'][2017-07-21 15:57:31]: dumpall operation successful -gs_dumpall[port='8000'][2017-07-21 15:57:31]: total time: 9627 ms - -示例二:执行gs_dumpall,仅导出所有数据库定义(omm用户为管理员用户),导出文件为文本格式。执行命令后,会有很长的打印信息,最终出现total time即代表执行成功。示例中将不体现中间的打印信息。 -gs_dumpall -U omm -f /home/omm/backup/MPPDB_backup.sql -p 8000 -s -Password: -gs_dumpall[port='8000'][2018-11-14 11:28:14]: dumpall operation successful -gs_dumpall[port='8000'][2018-11-14 11:28:14]: total time: 4147 ms - -示例三:执行gs_dumpall,仅导出所有数据库中数据,并对导出文件进行加密,导出文件为文本格式。执行命令后,会有很长的打印信息,最终出现total time即代表执行成功。示例中将不体现中间的打印信息。 -gs_dumpall -f /home/omm/backup/MPPDB_backup.sql -p 8000 -a --with-encryption AES128 --with-key abcdefg_?1234567 -gs_dumpall[port='8000'][2018-11-14 11:32:26]: dumpall operation successful -gs_dumpall[port='8000'][2018-11-14 11:23:26]: total time: 4147 ms - - - - - diff --git "a/content/zh/post/wllove/\345\205\250\351\207\217\347\211\251\345\214\226\350\247\206\345\233\276\347\256\200\350\277\260.md" "b/content/zh/post/wllove/\345\205\250\351\207\217\347\211\251\345\214\226\350\247\206\345\233\276\347\256\200\350\277\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..b147ba3fac8ef9e95cccce34801c6cd4056ca4f0 --- /dev/null +++ "b/content/zh/post/wllove/\345\205\250\351\207\217\347\211\251\345\214\226\350\247\206\345\233\276\347\256\200\350\277\260.md" @@ -0,0 +1,92 @@ ++++
title = "全量物化视图简述"
date = "2022-09-16"
tags = ["openGauss3.0.0"]
archives = "2020-09"
author = "wllove"
summary = "openGauss3.0.0"
img = "/zh/post/wllove/title/title.png"
times = "18:10"
+++ + +## 概述 +全量物化视图仅支持对已创建的物化视图进行全量更新,而不支持进行增量更新。创建全量物化视图语法和CREATE TABLE AS语法类似。 +## 语法格式 +创建全量物化视图 + +``` +CREATE MATERIALIZED VIEW [ view_name ] AS { query_block }; +``` + +全量刷新物化视图 + +``` +REFRESH MATERIALIZED VIEW [ view_name ]; +``` + +删除物化视图 + +``` +DROP MATERIALIZED VIEW [ view_name ]; +``` + +查询物化视图 + +``` +SELECT * FROM [ view_name ]; +``` + +--准备数据。 + +``` + openGauss=# CREATE TABLE t1(c1 int, c2 int); openGauss=# INSERT INTO t1 VALUES(1, 1);
openGauss=# INSERT INTO t1 VALUES(2, 2); +``` + + --创建全量物化视图。 + +``` +openGauss=# CREATE MATERIALIZED VIEW mv AS select count(*) from t1;
CREATE MATERIALIZED VIEW +``` + +--查询物化视图结果。 + +``` +openGauss=# SELECT * FROM mv; + count ------- 2 (1 row) +``` + + --向物化视图中基表插入数据。 + +``` + openGauss=# INSERT INTO t1 VALUES(3, 3); +``` + +--对全量物化视图做全量刷新。 + +``` +openGauss=# REFRESH MATERIALIZED VIEW mv; +REFRESH MATERIALIZED VIEW +``` + +--查询物化视图结果。 + +``` +openGauss=# SELECT * FROM mv;
count ------- 3 (1 row) +``` + +--删除物化视图。 + +``` +openGauss=# DROP MATERIALIZED VIEW mv; +DROP MATERIALIZED VIEW +``` + +## 支持场景 + +- 通常全量物化视图所支持的查询范围与CREATE TABLE AS语句一致。 + +- 全量物化视图上支持创建索引。 + +- 支持analyze、explain。 + +## 不支持场景 + +物化视图不支持增删改操作,只支持查询语句。 + +## 约束 + +全量物化视图的刷新、删除过程中会给基表加高级别锁,若物化视图的定义涉及多张表,需要注意业务逻辑,避免死锁产生。 + + + diff --git "a/content/zh/post/wllove/\345\242\236\351\207\217\347\211\251\345\214\226\350\247\206\345\233\276\347\232\204\344\275\277\347\224\250.md" "b/content/zh/post/wllove/\345\242\236\351\207\217\347\211\251\345\214\226\350\247\206\345\233\276\347\232\204\344\275\277\347\224\250.md" deleted file mode 100644 index 0cfbff74ae7db7acca05d70add7a1f43277626c3..0000000000000000000000000000000000000000 --- "a/content/zh/post/wllove/\345\242\236\351\207\217\347\211\251\345\214\226\350\247\206\345\233\276\347\232\204\344\275\277\347\224\250.md" +++ /dev/null @@ -1,132 +0,0 @@ -+++ -title = "增量物化视图的使用" -date = "2022-09-09" -tags = ["OpenGauss3.0.0"] -archives = "2020-09" -author = "wllovever" -summary = "OpenGauss3.0.0" -img = "/zh/post/wllove/tilte/title.jpg" -times = "15:10" -+++ - - -##增量物化视图介绍 - -增量物化视图可以对物化视图增量刷新,需要用户手动执行语句完成对物化视图在一段时间内的增量数据刷新。与全量创建物化视图的不同在于目前增量物化视图所支持场景较小。 - -目前物化视图创建语句仅支持基表扫描语句或者UNION ALL语句。 - -##增量物化视图使用场景介绍 - -1.支持场景: - -单表查询语句。 - -多个单表查询的UNION ALL。 - -物化视图上支持创建索引。 - -物化视图支持Analyze操作。 - -2.不支持场景 - -物化视图中不支持多表Join连接计划以及subquery计划。 - -除少部分ALTER操作外,不支持对物化视图中基表执行绝大多数DDL操作。 - -物化视图不支持增删改操作,只支持查询语句。 - -不支持用临时表/hashbucket/unlog/分区表创建物化视图。 - -不支持物化视图嵌套创建(即物化视图上创建物化视图)。 - -仅支持行存表,不支持列存表。 - -不支持UNLOGGED类型的物化视图,不支持WITH语法。 - -3.约束 - -物化视图定义如果为UNION ALL,则其中每个子查询需使用不同的基表。 - -增量物化视图的创建、全量刷新、删除过程中会给基表加高级别锁,若物化视图的定义为UNION ALL,需要注意业务逻辑,避免死锁产生。 - -##增量物化视图的使用 - -创建增量物化视图 - -CREATE INCREMENTAL MATERIALIZED VIEW [ view_name ] AS { query_block }; - -全量刷新物化视图 - -REFRESH MATERIALIZED VIEW [ view_name ]; - -增量刷新物化视图 - -REFRESH INCREMENTAL MATERIALIZED VIEW [ view_name ]; - -删除物化视图 - -DROP MATERIALIZED VIEW [ view_name ]; - -查询物化视图 - -SELECT * FROM [ view_name ]; - -##增量物化视图示例 - ---准备数据。 - -openGauss=# CREATE TABLE t1(c1 int, c2 int); -openGauss=# INSERT INTO t1 VALUES(1, 1); -openGauss=# INSERT INTO t1 VALUES(2, 2); - ---创建增量物化视图。 - -openGauss=# CREATE INCREMENTAL MATERIALIZED VIEW mv AS SELECT * FROM t1; -CREATE MATERIALIZED VIEW - ---插入数据。 - -openGauss=# INSERT INTO t1 VALUES(3, 3); -INSERT 0 1 - ---增量刷新物化视图。 - -openGauss=# REFRESH INCREMENTAL MATERIALIZED VIEW mv; -REFRESH MATERIALIZED VIEW - ---查询物化视图结果。 - -openGauss=# SELECT * FROM mv; - c1 | c2 -----+---- - 1 | 1 - 2 | 2 - 3 | 3 -(3 rows) - ---插入数据。 - -openGauss=# INSERT INTO t1 VALUES(4, 4); -INSERT 0 1 - ---全量刷新物化视图。 - -openGauss=# REFRESH MATERIALIZED VIEW mv; -REFRESH MATERIALIZED VIEW - ---查询物化视图结果。 - -openGauss=# select * from mv; - c1 | c2 -----+---- - 1 | 1 - 2 | 2 - 3 | 3 - 4 | 4 -(4 rows) - ---删除物化视图。 - -openGauss=# DROP MATERIALIZED VIEW mv; -DROP MATERIALIZED VIEW \ No newline at end of file