检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
连接数据库 连接到数据库是使用libpq开发应用程序的第一步。此时用户可以使用PQconnectdb或PQsetdbLogin函数来建立与数据库服务器的连接。这些函数将返回一个连接对象,用户需要保存这个连接对象,以便后续的数据库操作。 以开发源程序testlibpq.c为例(完整
类使用的函数和操作符都必须在创建操作符类之前定义。 如果指定了模式,那么操作符类就在指定的模式中创建。 否则就在当前模式中创建。在同一个模式中的两个操作符类可以有同样的名字, 但它们必须用于不同的索引方法。 定义操作符类的用户将成为其所有者。目前,创建用户必须是超级用户。 CREATE
PLUGGABLE DATABASE RECOVER; 示例 --创建导出目录 mkdir /data1/expdp/mypdb --创建mypdb gaussdb=# CREATE PLUGGABLE DATABASE mypdb; --创建资源计划 gaussdb=# call resource_manager
EXEC SQL END DECLARE SECTION; /* 提前创建testdb */ EXEC SQL CONNECT TO testdb; // 创建一个表 EXEC SQL CREATE TABLE foo (a int, b varchar);
操作符的新模式名。 示例 --创建函数。 gaussdb=# CREATE FUNCTION func_add(num1 integer, num2 integer) RETURN INTEGER AS BEGIN RETURN num1+num2; END; / --创建操作符。 gaussdb=#
范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期,例如将销售数据按照月份进行分区。 间隔分区表:是一种特殊的范围分区表,相比范围分区表,新增间隔值定义,当插入记录找不到匹配的分区时,可以根据间隔值自动创建分区。 列表分区表:将
范围分区表:将数据基于范围映射到每一个分区。这个范围是由创建分区表时指定的分区键决定的。分区键经常采用日期,例如将销售数据按照月份进行分区。 间隔分区表:是一种特殊的范围分区表,相比范围分区表,新增间隔值定义,当插入记录找不到匹配的分区时,可以根据间隔值自动创建分区。 列表分区表:将数据中包含的键值
范围分区表:将数据基于范围映射到每一个分区。这个范围是由创建分区表时指定的分区键决定的。分区键经常采用日期,例如将销售数据按照月份进行分区。 间隔分区表:是一种特殊的范围分区表,相比范围分区表,新增间隔值定义,当插入记录找不到匹配的分区时,可以根据间隔值自动创建分区。 列表分区表:将数据中包含的键值
自动级联删除依赖于此规则的对象。 RESTRICT 如果有任何依赖对象,则拒绝删除此规则。该值为缺省值。 示例 --创建表def_test、视图def_view_test用于创建RULE gaussdb=# CREATE TABLE def_test ( c1 int4 DEFAULT 5
自动级联删除依赖于此规则的对象。 RESTRICT 如果有任何依赖对象,则拒绝删除此规则。该值为缺省值。 示例 --创建表def_test、视图def_view_test用于创建RULE。 openGauss=# CREATE TABLE def_test ( c1 int4 DEFAULT
的行都不会被检索。 示例 --创建并切换至测试数据库。 gaussdb=# CREATE DATABASE test_event WITH DBCOMPATIBILITY = 'b'; test_event=# \c test_event --创建SCHEMA。 test_event=#
子句中指定的值列表,并将其作为一组虚拟行返回给查询计划器。这些虚拟行可以被其他扫描器或操作符使用,例如 HashJoin 或 MergeJoin。 典型场景 该算子提供了一种快速且简便的方法来指定一组值,无需从表中读取数据。这在测试或调试期间,或需要插入少量数据时非常有用。 示例 示例:插入语句中带VALUES。 --
更小、更易管理的逻辑单元(分区),能够让用户对表查询、变更等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速定位到数据所在的分区,从而避免在数据库中对大表的全量扫描,能够在不同的分区上并发进行DDL、DML操作。从用户使用的角度来看,表分区技术主要有以下三个方面能力:
Map(FSM)文件记录了每个数据页的潜在空闲空间,并且以树的结构组织起来。每当用户想要对某个表执行插入操作或者是非原位更新操作时,就会从该表对应的FSM中进行快速查找,查看当前FSM上记录的最大空闲空间是否可以满足插入所需的空间要求。如果满足则返回对应的blocknum用于执行插入操作,否则执行拓展页面逻辑。
小、更易管理的逻辑单元(分区),能够让对用户对表查询、变更等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速的定位到数据所在的分区,从而避免在数据库中对大表的全量扫描,能够在不同的分区上并发进行DDL、DML操作。从用户使用的角度来看,表分区技术主要有以下三个方面能力:
包年/包月转按需 创建一个包年/包月云数据库GaussDB后,您可以将该云数据库的计费模式转为按需计费,回收部分成本,同时更加灵活地按需使用云数据库。 假设用户于2023/04/18 15:29:16购买了一个包年/包月的云数据库GaussDB,由于业务需要,于2023/05/18
连接数据库 使用Go驱动时,调用Go sql的标准接口open创建数据库连接,返回一个连接对象,传入驱动名称和描述字符串。 函数原型 Go驱动提供了如下的方法用于生成一个数据库连接对象。 func Open(driverName, dataSourceName string) (*DB
Package支持自治事务 自治事务可以在package中的存储过程或者函数中定义,标识符为PRAGMA AUTONOMOUS_TRANSACTION,其余语法与创建package中存储过程或函数语法相同,示例如下。 --建表 gaussdb=# drop table if exists t2; gaussdb=#
DROP CAST 功能描述 DROP CAST用于删除类型转换。 注意事项 要能删除一个类型转换,必须拥有源或者目的数据类型的权限。这是和创建一个类型转换相同的权限。 语法格式 DROP CAST [ IF EXISTS ] (source_type AS target_type)
参数DEFAULT将在客户端和服务器之间默认执行源编码到目标编码之间的转换。要支持这个用法,需要定义双向转换,即从A到B和从B到A之间的转换。 创建转换需拥有函数的EXECUTE权限及目标模式的CREATE权限。 源编码和目标编码都不可以使用SQL_ASCII,因为在涉及SQL_ASCII