云服务器内容精选
-
参数说明 mv_name 要创建的物化视图的名称(可以被模式限定)。 取值范围:字符串,要符合标识符命名规范。 column_name 新物化视图中的一个列名。物化视图支持指定列,指定列需要和后面的查询语句结果的列数量保持一致;如果没有提供列名,会从查询的输出列名中获取列名。 取值范围:字符串,要符合标识符命名规范。 WITH ( storage_parameter [= value] [, ... ] ) 这个子句为表或索引指定一个可选的存储参数。详见CREATE TABLE。 TABLESPACE tablespace_name 指定新建物化视图所属表空间。如果没有声明,将使用默认表空间。 AS query 一个SELECT、TABLE 或者VALUES命令。这个查询将在一个安全受限的操作中运行。
-
示例 --创建一个普通表。 gaussdb=# CREATE TABLE my_table (c1 int, c2 int); WITH(STORAGE_TYPE=ASTORE); --创建全量物化视图。 gaussdb=# CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM my_table; --基表写入数据。 gaussdb=# INSERT INTO my_table VALUES(1,1),(2,2); --对全量物化视图my_mv进行全量刷新。 gaussdb=# REFRESH MATERIALIZED VIEW my_mv; --删除全量物化视图。 gaussdb=# DROP MATERIALIZED VIEW my_mv; --删除普通表my_table。 gaussdb=# DROP TABLE my_table;
-
示例 --创建拥有系统管理员权限的用户。 gaussdb=# CREATE USER user1 WITH SYSADMIN PASSWORD '********'; gaussdb=# SET ROLE user1 PASSWORD '********'; --创建公共dblink。 gaussdb=# CREATE PUBLIC DATABASE LINK public_dblink CONNECT TO 'user1' IDENTIFIED BY '********' USING (host '192.168.11.11',port '54399',dbname 'db01'); --创建普通用户。 gaussdb=# CREATE USER user2 PASSWORD '********'; --修改dblink对象信息。 gaussdb=# ALTER PUBLIC DATABASE LINK public_dblink CONNECT TO 'user2' IDENTIFIED BY '********'; --删除公共dblink。 gaussdb=# DROP PUBLIC DATABASE LINK public_dblink; --删除创建出的用户。 gaussdb=# RESET ROLE; gaussdb=# DROP USER user1; gaussdb=# DROP USER user2;
-
语法格式 修改扩展的版本 ALTER EXTENSION name UPDATE [ TO new_version ]; 修改扩展的模式 ALTER EXTENSION name SET SCHEMA new_schema; 添加或删除扩展的成员对象 ALTER EXTENSION name { ADD | DROP } member_object; 其中成员对象member_object写法为: AGGREGATE agg_name (agg_type [, ...] ) | CAST (source_type AS target_type) | COLLATION object_name | CONVERSION object_name | DOMAIN object_name | EVENT TRIGGER object_name | FOREIGN DATA WRAPPER object_name | FUNCTION function_name ( [ [ argname ] [ argmode ] argtype [, ...] ] ) | MATERIALIZED VIEW object_name | OPERATOR operator_name (left_type, right_type) | OPERATOR CLASS object_name USING index_method | OPERATOR FAMILY object_name USING index_method | [ PROCEDURAL ] LANGUAGE object_name | SCHEMA object_name | SEQUENCE object_name | SERVER object_name | TABLE object_name | TEXT SEARCH CONFIGURATION object_name | TEXT SEARCH DICTIONARY object_name | TEXT SEARCH PARSER object_name | TEXT SEARCH TEMPLATE object_name | TYPE object_name | VIEW object_name
-
示例 更新 plpgsql 扩展到版本 2.0: ALTER EXTENSION plpgsql UPDATE TO '2.0'; 更新 plpgsql 扩展的模式为utils: ALTER EXTENSION plpgsql SET SCHEMA utils; 添加一个已存在的函数给 plpgsql 扩展: ALTER EXTENSION plpgsql ADD FUNCTION populate_record(anyelement, plpgsql);
-
参数说明 name 已安装扩展的名称。 new_version 扩展的新版本。可以通过被标识符和字面字符重写。如果不指定的扩展的新版本,ALTER EXTENSION UPDATE会更新到扩展的控制文件中显示的默认版本。 new_schema 扩展的新模式。 object_name agg_name function_name operator_name 从扩展里被添加或移除的对象的名称。包含表、聚合 、域、外链表、函数、操作符、操作符类、操作符族、序列、文本搜索对象、类型和能被模式合格的视图的名称。 agg_type 在聚合函数操作上的一个输入数据类型,去引用一个零参数聚合函数,写 * 代替这些输入数据类型列表。 source_type 强制转换的源数据类型的名称。 target_type 强制转换的目标数据类型的名称。 argmode 这个函数参数的模型:IN、OUT、INOUT或者 VARIADIC。如果省略的话,默认值为IN。ALTER EXTENSION 不关心OUT参数 ,因为确认函数的一致性只需要输入参数,因此列出 IN、INOUT和 VARIADIC参数就足够了。 argname 函数参数的名称。ALTER EXTENSION不关心参数名称,确认函数的一致性只需要参数数据类型。 argtype 函数参数的数据类型(可以有模式修饰)。 left_type right_type 操作符参数的数据类型(可以有模式修饰),为前缀或后缀运算符的丢失参数写NONE 。
-
注意事项 ALTER EXTENSION 修改一个已安装的扩展的定义,要使用该接口,需要设置support_extended_features为true。这里有几种方式: UPDATE 这种方式更新这个扩展到一个新的版本。这个扩展必须满足一个适用的更新脚本(或者一系列脚本) 这样就能修改当前安装版本到一个要求的版本。 SET SCHEMA 这种方式移动扩展对象到另一个模式。这个扩展必须relocatable才能使命令成功。 ADD member_object 这种方式添加一个已存在对象到扩展。这主要在扩展更新脚本上有用。这个对象接着会被视为扩展的成员; 显而易见,该对象只能通过取消扩展来取消 。 DROP member_object 这个方式从扩展上移除一个成员对象。主要在扩展更新脚本上有用 .这个对象没有被取消, 只是从扩展里分开了。 您必须拥有扩展来使用 ALTER EXTENSION。 这个 ADD/DROP 方式要求 添加/删除对象的所有权。
-
参数说明 IF EXISTS IF EXISTS表示,如果函数存在则执行删除操作,函数不存在也不会报错,只是发出一个notice。 function_name 要删除的函数名称。 取值范围:已存在的函数名。 argmode 函数参数的模式。 argname 函数参数的名称。 argtype 函数参数的类型 CASCADE | RESTRICT CASCADE:级联删除依赖于函数的对象 。 RESTRICT:如果有任何依赖对象存在,则拒绝删除该函数(缺省行为)。
-
语法格式 创建快照 可以采用“CREATE SNAPSHOT … AS”以及“CREATE SNAPSHOT … FROM”语句创建数据表快照。 CREATE SNAPSHOT AS CREATE SNAPSHOT qualified_name [@ [version]] [COMMENT IS comment_item] AS query; CREATE SNAPSHOT FROM CREATE SNAPSHOT qualified_name [@ [version]] FROM @ version [COMMENT IS comment_item] USING ( { INSERT [INTO SNAPSHOT] insert_item | UPDATE [SNAPSHOT] [AS alias] SET set_item [FROM from_item] [WHERE where_item] | DELETE [FROM SNAPSHOT] [AS alias] [USING using_item] [WHERE where_item] | ALTER [SNAPSHOT] { ADD and_item | DROP drop_item } [, ...] } [; ...] ); 删除快照。 PURGE SNAPSHOT PURGE SNAPSHOT qualified_name @ version; 快照采样。 SAMPLE SNAPSHOT SAMPLE SNAPSHOT qualified_name @ version [STRATIFY BY attr_list] { AS alias AT RATIO num [COMMENT IS comment_item] } [, ...] 快照发布。 PUBLISH SNAPSHOT PUBLISH SNAPSHOT qualified_name @ version; 快照存档。 ARCHIVE SNAPSHOT ARCHIVE SNAPSHOT qualified_name @ version; 查询快照。 SELECT * FROM DB4AISHOT (qualified_name @ version );
-
参数说明 qualified_name 创建snapshot的名称。 取值范围:字符串,需要符合标识符命名规范。 version (可省略)snapshot的版本号,当省略设置。系统会自动顺延编号。 取值范围:字符串,数字编号配合分隔符。 comment_item 指定添加的评论内容。 取值范围:字符串,需要符合标识符命名规范。 insert_item 需要插入的对象名字。 取值范围:字符串,需要符合标识符命名规范。 alias 对当前对象取的别名。 取值范围:字符串,需要符合标识符命名规范。 set_item 当前操作的对象名。 取值范围:字符串,需要符合标识符命名规范。 from_item 用于连接的查询源对象的名称。 取值范围:字符串,需要符合标识符命名规范。 where_item 返回值为布尔型的任意表达式。 取值范围:字符串,需要符合标识符命名规范。 using_item 用于连接的对象名称。 取值范围:字符串,需要符合标识符命名规范。 and_item 需要并列处理的对象名称。 取值范围:字符串,需要符合标识符命名规范。 drop_item 需要drop的对象名称。 取值范围:字符串,需要符合标识符命名规范。 attr_list 目标对象的list集合。 取值范围:字符串,需要符合标识符命名规范。 num 指定的比例值。 取值范围:数字。
-
示例 ——创建数据表 gaussdb=# CREATE TABLE t1 (id int, name varchar); ——插入数据 gaussdb=# INSERT INTO t1 VALUES (1, 'zhangsan'); gaussdb=# INSERT INTO t1 VALUES (2, 'lisi'); gaussdb=# INSERT INTO t1 VALUES (3, 'wangwu'); gaussdb=# INSERT INTO t1 VALUES (4, 'lisa'); gaussdb=# INSERT INTO t1 VALUES (5, 'jack'); ——创建快照 gaussdb=# CREATE SNAPSHOT s1@1.0 comment is 'first version' AS SELECT * FROM t1; ——迭代创建快照 gaussdb=# CREATE SNAPSHOT s1@2.0 FROM @1.0 comment is 'inherits from @1.0' USING (INSERT VALUES(6, 'john'), (7, 'tim'); DELETE WHERE id = 1); ——查看快照内容 gaussdb=#SELECT * FROM DB4AISHOT(s1@1.0); ——快照采样 gaussdb=# SAMPLE SNAPSHOT s1@2.0 stratify by name as nick at ratio .5; ——删除快照 gaussdb=# PURGE SNAPSHOT s1@2.0; gaussdb=# PURGE SNAPSHOT s1nick@2.0; gaussdb=# PURGE SNAPSHOT s1@1.0; ——删除表格 gaussdb=# DROP TABLE t1;
-
注意事项 本特性GUC参数db4ai_snapshot_mode,快照存储模型分为MSS和 CSS 两种;GUC参数db4ai_snapshot_version_delimiter,用于设定版本分隔符,仅接受设定单字节参数值,默认为“@”;GUC参数db4ai_snapshot_version_separator,用于设定子版本分隔符,仅接受设定单字节参数值,默认为“.”。 当快照选用增量存储方式时,各个快照中具有依赖关系。删除快照需要按照依赖顺序进行删除。 snapshot特性用于团队不同成员间维护数据,涉及管理员和普通用户之间的数据转写。所以在三权分立(enableSeparationOfDuty=ON)等状态下,数据库不支持snapshot功能特性。 当需要稳定可用的快照用于AI训练等任务时,用户需要将快照发布。
-
参数说明 INDEX 重新建立指定的索引。 TABLE 重新建立指定表的所有索引,如果表有从属的“TOAST”表,则这个表也会重建索引。如果表上有索引已经被alter unusable失效,则这个索引无法被重新创建。当指定CONCURRENTLY选项时,暂不支持重建从属“TOAST”表上的索引。 DATABASE 重建当前数据库里的所有索引。当指定CONCURRENTLY选项时,暂不支持重建数据库中表的从属“TOAST”表上的索引。 SYSTEM 在当前数据库上重建所有系统表上的索引。不会处理在用户表上的索引。 CONCURRENTLY 以不阻塞DML的方式重建索引(加ShareUpdateExclusiveLock锁)。重建索引时,一般会阻塞其他语句对该索引所依赖表的访问。指定此关键字,可以实现重建过程中不阻塞DML。不支持在线重建系统表上的索引。不支持REINDEX INTERNAL TABLE CONCURRENTLY和REINDEX SYSTEM CONCURRENTLY。当执行REINDEX DATABASE CONCURRENTLY时,在线重建当前数据库中用户表上的所有索引(不会处理系统表上的索引)。REINDEX CONCURRENTLY不可以在事务内执行。在线重建索引只支持B-tree索引和UB-tree索引,只支持普通索引、GLOBAL索引、LOCAL索引。在线并行重建索引只支持Astore的普通索引、GLOBAL索引、LOCAL索引,Ustore索引不支持在线并行重建。如果在线重建索引失败,可能会留下非法的新索引,在系统无法自动清理失败新索引的情况下(比如数据库宕机),需要尽快手动清除(使用DROP INDEX语句)非法新索引,以防占用更多资源。一般来说,非法的新索引的后缀名为_ccnew。REINDEX INDEX CONCURRENTLY对表加4级会话锁,且其前几个阶段与CREATE INDEX CONCURRENTLY相似,因此也可能产生卡住或死锁的问题,具体场景与CREATE INDEX CONCURRENTLY相似(比如两个会话同时对同一个索引或表进行REINDEX CONCURRENTLY操作,会引发死锁问题),详见CONCURRENTLY章节。 name 需要重建索引的索引、表、数据库的名称。表和索引可以有模式修饰。 REINDEX DATABASE和SYSTEM只能重建当前数据库的索引,所以name必须和当前数据库名称相同。 FORCE 废弃选项,仅为保持前向兼容,故继续保留。 partition_name 需要重建索引的分区的名称或者索引分区的名称。 取值范围: 如果前面是REINDEX INDEX,则这里应该指定索引分区的名称; 如果前面是REINDEX TABLE,则这里应该指定分区的名称; REINDEX DATABASE和SYSTEM这种形式的重建索引不能在事务块中执行。
-
语法格式 MOVE [ direction [ FROM | IN ] ] cursor_name; 其中direction子句为可选参数。 NEXT | PRIOR | FIRST | LAST | ABSOLUTE count | RELATIVE count | count | ALL | FORWARD | FORWARD count | FORWARD ALL | BACKWARD | BACKWARD count | BACKWARD ALL
-
示例 --创建SCHEMA。 gaussdb=# CREATE SCHEMA tpcds; --创建表tpcds.reason。 gaussdb=# CREATE TABLE tpcds.reason ( r_reason_sk INTEGER NOT NULL, r_reason_id CHAR(16) NOT NULL, r_reason_desc VARCHAR(40) ); --向表中插入多条记录。 gaussdb=# INSERT INTO tpcds.reason VALUES (1, 'AAAAAAAABAAAAAAA', 'Xxxxxxxxx'),(2, 'AAAAAAAACAAAAAAA', ' Xxxxxxxxx'),(3, 'AAAAAAAADAAAAAAA', ' Xxxxxxxxx'),(4, 'AAAAAAAAEAAAAAAA', 'Not the product that was ordered'),(5, 'AAAAAAAAFAAAAAAA', 'Parts missing'),(6, 'AAAAAAAAGAAAAAAA', 'Does not work with a product that I have'),(7, 'AAAAAAAAHAAAAAAA', 'Gift exchange'); --开始一个事务。 gaussdb=# START TRANSACTION; --定义一个名为cursor1的游标。 gaussdb=# CURSOR cursor1 FOR SELECT * FROM tpcds.reason; --忽略游标cursor1的前3行。 gaussdb=# MOVE FORWARD 3 FROM cursor1; --抓取游标cursor1的前4行。 gaussdb=# FETCH 4 FROM cursor1; r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------------------------------------------------------------------------ 4 | AAAAAAAAEAAAAAAA | Not the product that was ordered 5 | AAAAAAAAFAAAAAAA | Parts missing 6 | AAAAAAAAGAAAAAAA | Does not work with a product that I have 7 | AAAAAAAAHAAAAAAA | Gift exchange (4 rows) --关闭游标。 gaussdb=# CLOSE cursor1; --结束一个事务。 gaussdb=# END; --删除表。 gaussdb=# DROP TABLE tpcds.reason; --删除SCHEMA。 gaussdb=# DROP SCHEMA tpcds CASCADE;
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格