华为云用户手册

  • 功能描述 检查点(CHECKPOINT)是一个事务日志中的点,所有数据文件都在该点被更新以反映日志中的信息,所有数据文件都将被刷新到磁盘。 设置事务日志检查点。预写式日志(WAL)缺省时在事务日志中每隔一段时间放置一个检查点。可以使用gs_guc命令设置相关运行时参数(checkpoint_segments,checkpoint_timeout和incremental_checkpoint_timeout)来调整这个原子化检查点的间隔。
  • GS_TXN_SNAPSHOT GS_TXN_SNAPSHOT是“时间戳- CS N”映射表,周期性采样,并维护适当的时间范围,用于估算范围内的时间戳对应的CSN值。 表1 GS_TXN_SNAPSHOT字段 名称 类型 描述 snptime timestamp with time zone 快照捕获时间。 snpxmin bigint 快照xmin。 snpcsn bigint 快照csn。 snpsnapshot text 快照序列化文本。 父主题: 系统表
  • 示例 --创建模式ds。 openGauss=# CREATE SCHEMA ds; --将当前模式ds更名为ds_new。 openGauss=# ALTER SCHEMA ds RENAME TO ds_new; --创建用户jack。 openGauss=# CREATE USER jack PASSWORD '********'; --将DS_NEW的所有者修改为jack。 openGauss=# ALTER SCHEMA ds_new OWNER TO jack; --删除用户jack和模式ds_new。 openGauss=# DROP SCHEMA ds_new; openGauss=# DROP USER jack;
  • 注意事项 只有模式的所有者或者被授予了模式ALTER权限的用户有权限执行ALTER SCHEMA命令,系统管理员默认拥有此权限。但要修改模式的所有者,当前用户必须是该模式的所有者或者系统管理员,且该用户是新所有者角色的成员。 对于系统模式pg_catalog,只允许初始用户修改模式的所有者。修改系统自带模式的名称可能会导致部分功能不可用甚至影响数据库正常运行,默认情况下不允许修改系统自带模式的名称,考虑到前向兼容性,仅允许当系统在启动或升级过程中或参数allow_system_table_mods为on时修改。
  • 参数说明 schema_name 现有模式的名称。 取值范围:已存在的模式名。 RENAME TO new_name 修改模式的名称。非系统管理员要改变模式的名称,则该用户必须在此数据库上有CREATE权限。 new_name:模式的新名称。 取值范围:字符串,要符合标识符命名规范。 OWNER TO new_owner 修改模式的所有者。非系统管理员要改变模式的所有者,该用户还必须是新的所有角色的直接或间接成员, 并且该成员必须在此数据库上有CREATE权限。 new_owner:模式的新所有者。 取值范围:已存在的用户名/角色名。
  • 通过本地文件导入导出数据 在使用JAVA语言基于 GaussDB 进行二次开发时,可以使用CopyManager接口,通过流方式,将数据库中的数据导出到本地文件或者将本地文件导入数据库中,文件格式支持CSV、TEXT等格式。 代码运行的前提条件: 根据实际情况添加opengaussjdbc.jar包(例如用户使用IDE执行代码,则需要在本地IDE添加opengaussjdbc.jar包)。 在数据库中创建表migration_table和migration_table_1,并在migration_table表中插入数据。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放,使用时解密),确保安全。 // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 // $ip、$port、database需要用户自行修改。 import java.sql.Connection; import java.sql.DriverManager; import java.io.IOException; import java.io.FileInputStream; import java.io.FileOutputStream; import java.sql.SQLException; import com.huawei.opengauss.jdbc.copy.CopyManager; import com.huawei.opengauss.jdbc.core.BaseConnection; public class Copy{ public static void main(String[] args) { String urls = new String("jdbc:opengauss://$ip:$port/database"); //数据库URL String username = System.getenv("EXAMPLE_USERNAME_ENV"); //用户名 String password = System.getenv("EXAMPLE_PASSWORD_ENV"); //密码 String tablename = new String("migration_table"); //定义表信息 String tablename1 = new String("migration_table_1"); //定义表信息 String driver = "com.huawei.opengauss.jdbc.Driver"; Connection conn = null; try { Class.forName(driver); conn = DriverManager.getConnection(urls, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(System.out); } catch (SQLException e) { e.printStackTrace(System.out); } // 将SELECT * FROM migration_table查询结果导出到本地文件d:/data.txt try { copyToFile(conn, "d:/data.txt", "(SELECT * FROM migration_table)"); } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //将d:/data.txt中的数据导入到migration_table_1中。 try { copyFromFile(conn, "d:/data.txt", tablename1); } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // 将migration_table_1中的数据导出到本地文件d:/data1.txt try { copyToFile(conn, "d:/data1.txt", tablename1); } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } // 使用copyIn把数据从文件中导入数据库, public static void copyFromFile(Connection connection, String filePath, String tableName) throws SQLException, IOException { FileInputStream fileInputStream = null; try { CopyManager copyManager = new CopyManager((BaseConnection)connection); fileInputStream = new FileInputStream(filePath); copyManager.copyIn("COPY " + tableName + " FROM STDIN", fileInputStream); } finally { if (fileInputStream != null) { try { fileInputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } // 使用copyOut把数据从数据库中导出到文件中 public static void copyToFile(Connection connection, String filePath, String tableOrQuery) throws SQLException, IOException { FileOutputStream fileOutputStream = null; try { CopyManager copyManager = new CopyManager((BaseConnection)connection); fileOutputStream = new FileOutputStream(filePath); copyManager.copyOut("COPY " + tableOrQuery + " TO STDOUT", fileOutputStream); } finally { if (fileOutputStream != null) { try { fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } } 上述示例的运行结果为:本地d盘两个文件data.txt和data1.txt、数据库表migration_table_1,和数据库表migration_table数据相同。 父主题: 典型应用开发示例
  • PG_SHDESCRIPTION PG_SHDESCRIPTION系统表为共享数据库对象存储可选的注释。可以使用COMMENT命令操作注释的内容,使用\d命令查看注释内容。 PG_DESCRIPTION提供了类似的功能,它记录了单个数据库中对象的注释。 PG_SHDESCRIPTION是在数据库实例的所有数据库之间共享的,即每个实例只有一个,而不是每个数据库一个。 表1 PG_SHDESCRIPTION字段 名称 类型 引用 描述 objoid oid 任意OID属性 所描述的对象的OID。 classoid oid PG_CLASS.oid 该对象出现的系统表的OID。 description text - 该对象的描述信息。 父主题: 系统表
  • 连接参数参考 info参数连接的所有属性名称对大小写敏感。常用的属性如表1所示。 表1 info参数的连接属性 属性名称 属性说明 属性值 PGDBNAME 表示数据库名称(URL中无需配置该参数,自动从Properties文件中解析)。 属性类型:String PGHOST 主机IP地址。 属性类型:String PGPORT 主机端口号。 属性类型:Integer user 表示创建连接的数据库用户。 属性类型:String password 表示数据库用户的密码。 属性类型:String driverInfoMode 控制驱动描述信息的输出模式。 属性类型:String 取值范围:postgresql、gaussdb。 postgresql表示输出postgresql相关的驱动描述信息。 gaussdb表示输出gaussdb相关的驱动描述信息。 默认值:postgresql loggerLevel 指定日志记录级别。 属性类型:String 取值范围:目前支持4种级别:OFF、INFO、DEBUG、TRACE。 OFF表示关闭日志。 INFO、DEBUG和TRACE表示记录的日志信息详细程度不同。 默认值:该属性不设置则为空,与设置为INFO等效。 loggerFile 用于指定日志输出路径(目录和文件名)。此参数已废弃,不再生效。 如需指定日志输出路径可通过 java.util.logging 属性文件或系统属性进行配置。 属性类型:String logger 表示JDBC Driver要使用的日志输出框架。JDBC Driver支持对接用户应用程序使用的日志输出框架。 属性类型:String 取值范围:Slf4JLogger 如果缺省,则JDBC Driver使用JDK LOG GER。 目前支持的第三方日志输出框架只有基于Slf4j-API的日志框架。具体使用方式,请参见日志管理。 allowEncodingChanges 设置该参数值为true进行字符集类型更改,配合参数characterEncoding设置字符集,二者使用“&”分隔。characterEncoding取值范围为UTF8、GBK、LATIN1、GB18030。例:allowEncodingChanges=true&characterEncoding=UTF8。 属性类型:Boolean 取值范围: true表示更改字符集类型。 false表示不更改字符集类型。 默认值:false currentSchema 设置当前连接的schema,在search-path中指定要设置的schema。如果schema名包含除字母、数字、下划线之外的特殊字符,建议在schema名上加引号,注意schema名大小写敏感。如需配置多个schema,要用逗号(,)进行分隔,包含特殊字符的schema也需要加引号处理。 例如:currentSchema=schema_a,"schema-b","schema/c" 属性类型:String 缺省:如果未设置,则默认schema为连接使用的用户名。 hostRecheckSeconds JDBC尝试连接主机后会保存主机状态:连接成功或连接失败。在hostRecheckSeconds时间内保持可信,超过则状态失效。 属性类型:Integer 属性单位:s 取值范围:0 ~ 2147483647 默认值:10 ssl 表示以SSL方式连接数据库。 ssl=true可支持NonValidatingFactory通道和使用证书的方式: 1、NonValidatingFactory通道需要配置用户名和密码,同时将SSL设置为true。 2、配置客户端证书、密钥、根证书,将SSL设置为true。 属性类型:Boolean 取值范围: true表示以SSL方式连接数据库。 false表示不以SSL方式连接数据库。 默认值:该属性不设置则为空,与false等效。 sslmode SSL认证方式。 属性类型:String 取值范围:disable、allow、prefer、require、verify-ca、verify-full。 disable:不使用SSL安全连接。 allow:如果数据库服务器要求使用,则可以使用SSL安全加密连接,但不验证数据库服务器的真实性。 prefer:如果数据库支持,那么首选使用SSL连接,但不验证数据库服务器的真实性。 require:只尝试SSL连接,如果存在CA文件,则应设置成verify-ca的方式验证。 verify-ca:只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书。 verify-full:只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书,以及验证服务器主机名是否与证书中的一致。 默认值:该属性不设置则为空,与require等效。 sslcert 提供客户端证书文件的完整路径。证书类型为End Entity。 属性类型:String 默认值:该属性不设置则为空,读取用户根目录。 sslkey 提供密钥文件的完整路径,使用时需将该密钥转换为DER格式。 openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt 属性类型:String 默认值:该属性不设置则为空,读取用户根目录。 sslrootcert SSL根证书的文件名。根证书的类型为CA。 属性类型:String 默认值:该属性不设置则为空,读取用户根目录。 sslpassword SSL密码,提供给ConsoleCallbackHandler使用。 属性类型:String sslpasswordcallback SSL密码提供者的类名。 属性类型:String 默认值:该属性不设置则为空。 sslfactory 指定SSLSocketFactory在建立SSL连接时用的类名。 属性类型:String 默认值:该属性不设置则为空。 sslprivatekeyfactory 提供的值是实现私钥解密方法的接口org.postgresql.ssl.PrivateKeyFactory的实现类的完整限定类名。如果不提供,首先尝试默认的jdk私钥解密算法,如果无法解密,则使用org.postgresql.ssl.BouncyCastlePrivateKeyFactory,用户需要自己提供bcpkix-jdk15on.jar包,版本建议:1.65以上。 属性类型:String 默认值:该属性不设置则为空。 sslfactoryarg 此值是sslfactory类的构造函数的可选参数(不推荐使用)。 属性类型:String 默认值:该属性不设置则为空。 sslhostnameverifier 主机名验证程序的类名。接口实现javax.net.ssl.HostnameVerifier,默认使用com.huawei.opengauss.jdbc.ssl.PGjdbcHostnameVerifier。 属性类型:String 默认值:该属性不设置则为空,默认使用com.huawei.opengauss.jdbc.ssl.PGjdbcHostnameVerifier。 loginTimeout 指建立数据库连接的等待时间。当url配置多IP时,若获取连接花费的时间超过此值,则连接失败,不再尝试后续IP。 loginTimeout时间包括connectTimeout和socketTimeoutInConnecting,计算方式为:loginTimeout=(connectTimeout+连接认证时间+初始化语句执行时间)*节点数量。 须知: 此参数设置后对于多IP而言,时间是尝试连接IP的时间,可能会出现因为设置的值较小导致后面的IP无法连接的问题。例如设置了三个IP,如果loginTimeout为5s,但前两个IP建连总共用了5s,第三个IP会无法进行连接。在集中式环境下,此最后一个IP恰好为主机,可能会导致自动寻主失败。 当CPU、内存、I/O负载中的任意一项接近100%时,会出现连接慢的现象,可能会导致连接时间超过阈值的问题,可通过以下方式进行问题排查: 登录连接慢的物理机或通过管理工具查询资源负载:可通过top命令等确认CPU使用率;通过free命令确认内存使用情况;通过iostat命令确认I/O负载;此外还可以通过cm_agent中的监控日志,以及数据库运维平台中的监测记录进行检查。 针对短时间内大量慢查询导致的峰值负载场景,可通过[数据库服务器的端口号+1]端口连接,查询pg_stat_activity视图;针对慢查询,可以使用系统函数pg_terminate_backend(pid int)进行查杀会话。 针对业务量长期超负载情况(即无明显慢查询,或慢查询查杀后但新的查询依然会变成慢查询),应考虑降低业务负载、增加数据库资源的方式进行优化。 属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。 默认值:0 建议:配置后每次建连都会开启一个异步线程,在连接数较多的情况可能会导致客户端压力增大,如果业务确认需要设置此参数,在集中式环境下建议调整为max(connectTimeout, socketTimeoutInConnecting) * 节点数,防止在网络异常情况且第n个IP为主的情况下,无法连接。 connectTimeout 用于连接服务器操作系统的超时值。如果连接到服务器操作系统花费的时间超过此值,则连接断开。当url配置多IP时,表示连接单个IP的超时时间。 属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。 默认值:0 socketTimeout 用于socket读取操作的超时值。如果从服务器读取数据流所花费的时间超过此值,则连接关闭。如果不配置该参数,在数据库进程异常情况下,会导致客户端出现长时间等待,建议根据业务可以接受的SQL执行时间进行配置。 说明: 当JDBC侧触发超时且连接关闭时,其下发给数据库侧正在运行的业务会被强制终止。业务强制终止的能力受GUC参数check_disconnect_query控制,设置为on表示支持该能力,设置为off表示不支持该能力。 属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647。0表示已禁用,timeout不生效。 默认值:0 socketTimeoutInConnecting 用于控制建连阶段socket读取操作的超时值。在建连阶段,如果从服务器读取数据流超过此阈值,则尝试查找下一个节点建连。 属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647 默认值:5 cancelSignalTimeout 发送取消命令的消息本身可能会阻塞,用于控制取消命令的“connect超时”和“socket超时”。如果取消命令超过指定时间未响应,会中断该连接,减少占用客户端资源。 属性类型:Integer 属性单位:s(秒) 取值范围:0 ~ 2147483647 默认值:10 tcpKeepAlive TCP保活探测功能的控制开关。 属性类型:Boolean 取值范围: true表示启用TCP保活探测功能。 false表示禁用TCP保活探测功能。 默认值:false logUnclosedConnections 客户端可能由于未调用Connection对象的close()方法而泄漏Connection对象。最终这些对象将被回收,并且调用finalize()方法。 属性类型:Boolean 取值范围: true表示如果用户没有调用close()方法,finalize()方法将关闭Connection对象。 false表示如果用户没有调用close()方法,将不会关闭Connection对象。 默认值:false assumeMinServerVersion(废弃) 该参数设置要连接的服务器版本。 如assumeMinServerVersion高于或者等于9.0,可以在建立连接时减少相关包的发送,客户端不会发送请求将float精度设置为3(即维持原来设置的float精度2)。 属性类型:String 默认值:该属性不设置则为空。 ApplicationName 设置正在使用连接的JDBC驱动的名称。通过在数据库主节点上查询pg_stat_activity表可以看到正在连接的客户端信息,JDBC驱动名称显示在application_name列。 属性类型:String 默认值:PostgreSQL JDBC Driver connectionExtraInfo 表示驱动是否将当前驱动的部署路径、进程属主用户、url连接配置信息上报到数据库。 属性类型:Boolean 取值范围: true表示JDBC驱动会将当前驱动的部署路径、进程属主用户、url连接配置信息上报到数据库中,记录在connection_info参数里,同时可以在PG_STAT_ACTIVITY中查询到。 false表示JDBC驱动不会将当前驱动的部署路径、进程属主用户、url连接配置信息上报到数据库中。 默认值:false autosave 如果查询失败,指定驱动程序应该执行的操作。 属性类型:String 取值范围:always、never、conservative。 always表示JDBC驱动程序在每次查询之前设置一个保存点,并在失败时回滚到该保存点。 never表示无保存点。 conservative表示每次查询都会设置保存点,但是只会在“statement XXX无效”等情况下回滚并重试。 默认值:never protocolVersion 连接协议版本号。 属性类型:Integer 取值范围:目前仅支持1和3。 设置1时代表连接的是V1服务端。 设置3时代表连接的是V5服务端。 默认值:该属性不设置则为空,与设置为3等效。 prepareThreshold 该值决定PreparedStatement对象在执行多少次以后使用服务端已经解析好的statement。 说明: 不建议通过JDBC,并且使用prepareStatement的方式执行涉及密码的语句(例如:CREATE USER user_name WITH PASSWORD '********';),原因是执行达到prepareThreshold指定次数时,数据库将SQL语句进行缓存,基于安全因素不会将密码进行缓存,该prepareStatement再次执行时会报错(Password must contain at least 8 characters.)。 属性类型:Integer 取值范围:0 ~ 2147483647 默认值:5。意味着在执行同一个PreparedStatement对象时,在第五次及以上执行时不再向服务端发送parse消息对statement进行解析,而使用之前在服务端已经解析好的statement。 preparedStatementCacheQueries 确定每个连接中缓存preparedStatement对象所生成query的最大数量。 属性类型:Integer 取值范围:0 ~ 2147483647。0表示禁用缓存。 默认值:256。若在prepareStatement()调用中使用超过256个不同的查询,则最近最少使用的查询缓存将被丢弃。 建议:根据业务需要进行调整。配合prepareThreshold使用。 preparedStatementCacheSizeMiB 确定每个连接中缓存preparedStatement对象所生成query的最大值。 属性类型:Integer 属性单位:MB 取值范围:0 ~ 2147483647。0表示禁用缓存。 默认值:5。若缓存了超过5MB的query,则最近最少使用的查询缓存将被丢弃。 databaseMetadataCacheFields 指定每个连接可缓存的字段的最大个数。 属性类型:Integer 取值范围:0 ~ 2147483647。0表示禁用缓存。 默认值:65536 databaseMetadataCacheFieldsMiB 指定每个连接可缓存的字段的最大值。 属性类型:Integer 属性单位:MB 取值范围:0 ~ 2147483647。0表示禁用缓存。 默认值:5 stringtype 指定调用java.sql.PreparedStatement#setString方法时传给数据库的参数类型。 属性类型:String 取值范围:unspecified、varchar。 varchar表示参数将作为varchar类型发送给服务器。 unspecified表示参数将不指定类型发送到服务器,服务器将尝试推断适当的类型。 默认值:varchar batchMode 表示是否使用batch模式连接。 说明: 配置batchMode=on时,执行批量插入/批量修改操作,每一列的数据类型以第一条数据指定的类型为准,若数据类型混用可能会导致报错或者插入的数据异常。 属性类型:String 取值范围: on表示开启batch模式,可以提升批量更新的性能。设置batchMode=on执行成功的返回结果为[count, 0, 0...0],数组第一个元素为批量影响的总条数。 off表示关闭batch模式。设置batchMode=off执行成功的返回结果为[1, 1, 1...1],数组各元素对应单次修改的影响条数。 默认值:on fetchsize 用于设置数据库连接所创建statement的默认fetchsize。 确定一次fetch在ResultSet中读取的行数,与defaultRowFetchSize功能等价。如果fetchsize和defaultRowFetchSize同时设置,以fetchsize为准。 属性类型:Integer 取值范围:0 ~ 2147483647 默认值:0。表示一次从数据库获取所有结果。 建议:用户根据自身的业务查询数据数量和客户端机器内存情况来配置此参数,设置fetchsize时要关闭自动提交(autocommit=false)模式,否则会导致fetchsize无法生效。 defaultRowFetchSize 确定一次fetch在ResultSet中读取的行数。限制每次访问数据库时读取的行数可以避免不必要的内存消耗,从而避免OutOfMemoryException。 属性类型:Integer 取值范围:0 ~ 2147483647 默认值:0。表示一次从数据库获取所有结果。 reWriteBatchedInserts 表示批量插入时,是否重写SQL语句。使用该参数时,要求设置batchMode=off。 属性类型:Boolean 取值范围: true表示批量插入时,可将N条插入语句合并为一条:insert into TABLE_NAME values(values1, ..., valuesN), ..., (values1, ..., valuesN)。 false表示批量插入时,不重写SQL语句。 默认值:false unknownLength 某些GaussDB类型(例如TEXT)没有明确定义的长度,当通过ResultSetMetaData.getColumnDisplaySize和ResultSetMetaData.getPrecision等函数返回关于这些类型的数据时,此参数指定未知长度类型的长度。 属性类型:Integer 取值范围:0 ~ 2147483647 默认值:Integer.MAX_VALUE uppercaseAttributeName 该属性开启后会将获取元数据的接口的查询结果转为大写。主要适用场景为数据库中存储元数据全为小写,但要使用大写的元数据作为出参和入参。 涉及到的接口请参见:java.sql.DatabaseMetaData、java.sql.ResultSetMetaData。 说明: uppercaseAttributeName参数开启后,如果数据库中有小写、大写和大小写混合的元数据,只能查询出小写部分的元数据,并以大写的形式输出,使用前请务必确认元数据的存储是否全为小写以避免数据出错。 属性类型:String 取值范围: true表示将元数据转为大写。 false表示以内核GUC参数配置为准。 默认值:false binaryTransfer 是否启用二进制格式发送和接收数据。 属性类型:Boolean 取值范围: true表示启用。 false表示不启用。 默认值:false binaryTransferEnable 启用二进制传输的类型列表。以逗号分隔,例如:binaryTransferEnable=Integer4_ARRAY,Integer8_ARRAY。 OID编号和名称二选一。比如:OID名称为BLOB,编号为88,可以进行如下配置:binaryTransferEnable=BLOB 或 binaryTransferEnable=88。 属性类型:String 默认值:该属性不设置则为空。 binaryTransferDisable 禁用二进制传输的类型列表。以逗号分隔,OID编号和名称二选一。如果binaryTransferDisable与binaryTransferEnable有相同的value,则会禁用。 属性类型:String 默认值:该属性不设置则为空。 blobMode 用于设置setBinaryStream()方法为不同类型的数据赋值。建议从A、B迁移的系统将该值设定为on,从PG迁移的系统设定为off。 属性类型:String 取值范围: on表示为blob类型数据赋值。 off表示为bytea类型数据赋值。 默认值:on socketFactory 用于创建与服务器socket连接的类的名称。该类必须实现接口“javax.net.SocketFactory”,并定义无参或单String参数的构造函数。 属性类型:String socketFactoryArg 此值是上面提供的socketFactory类的构造函数的可选参数,不推荐使用。 属性类型:String receiveBufferSize 该值用于设置连接流上的SO_RCVBUF。 属性类型:Integer 属性单位:字节 取值范围:-1 ~ 2147483647 默认值:-1。表示不设置缓冲区大小。 sendBufferSize 该值用于设置连接流上的SO_SNDBUF。 属性类型:Integer 属性单位:字节 取值范围:-1 ~ 2147483647 默认值:-1。表示不设置缓冲区大小。 preferQueryMode 用于指定执行查询的模式。 属性类型:String 取值范围:simple、extended、 extendedForPrepared、extendedCacheEverything。 simple模式会excute,不parse和bind; extended模式会bind和excute; extendedForPrepared模式为prepared statement扩展使用; extendedCacheEverything模式会缓存每个statement。 默认值:extended targetServerType 该参数识别主备数据节点是通过查询URL连接串中,数据节点是否允许写操作来实现的。 属性类型:String 取值范围:any、master、slave、preferSlave、clusterMainNode。 master表示依次尝试连接URL连接串中配置的IP,直到能够连接到数据库实例中的主节点,如果找不到将抛出异常。 slave表示依次尝试连接URL连接串中配置的IP,直到能够连接到数据库实例中的备节点,如果找不到将抛出异常。 preferSlave表示尝试连接到URL连接串中的备数据节点(如果有可用节点),否则连接到主数据节点。 any表示尝试连接到URL连接串中的任何一个数据节点。 clusterMainNode表示尝试连接到URL串中的主节点或首备节点(容灾主节点),如果找不到将抛出异常。 默认值:any 查询语句:select local_role, db_state from pg_stat_get_stream_replications(); 建议:有写操作的业务建议配置master,以保证主备切换后能正常连接主节点,但是要注意在主备倒换过程中备机没有完全升主的时候无法正常建连,导致业务语句无法正常执行。 priorityServers 此值用于指定url上配置的前n个节点作为主数据库实例被优先连接。应用于流式容灾场景。 例如:jdbc:opengauss://host1:port1,host2:port2,host3:port3,host4:port4/database?priorityServers=2。即表示host1与host2为主数据库实例节点,host3与host4为容灾数据库实例节点。 属性类型:Integer 取值范围:大于0且小于url上配置的DN数量。 默认值:NULL forceTargetServerSlave 此值用于控制是否开启强制连接备机功能,并在数据库实例发生主备切换时,禁止已存在的连接在升主备机上继续使用。 属性类型:Boolean 取值范围: false表示不开启强制连接备机功能。 true表示开启强制连接备机功能。 默认值:false traceInterfaceClass 获取traceId方法接口com.huawei.opengauss.jdbc.log.Tracer的实现类的完整限定类名。 属性类型:String 默认值:NULL use_boolean 设置extended模式下setBoolean()方法绑定的oid类型。 属性类型:Boolean 取值范围: false表示绑定int2类型。 true表示绑定bool类型。 默认值:false allowReadOnly 设置是否允许连接开启只读模式。 属性类型:Boolean 取值范围: true允许设置只读模式。 false不允许设置只读模式,此时调用connection.setReadOnly(true)不生效,仍可以修改数据。 默认值:true TLSCiphersSupperted 设置支持的TLS加密套件。 属性类型:String 默认值:TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 stripTrailingZeros 设置是否去除numeric类型后的0,仅对ResultSet.getObject(int columnIndex)生效。 属性类型:Boolean 取值范围: true表示去除numeric类型后的0。 false表示不去除numeric类型后的0。 默认值:false enableTimeZone 用于指定是否启用客户端时区设置。 属性类型:Boolean 取值范围: true表示启用客户端时区设置(获取JVM时区指定数据库时区)。 false表示不启用客户端时区设置(使用数据库时区)。 默认值:true loadBalanceHosts 指定是否使用负载均衡功能。集中式环境下,如果使用此参数需要保证业务中没有写操作。 属性类型:Boolean 取值范围: true表示使用洗牌算法从候选主机中随机选择一个主机建立连接。 false表示顺序连接URL中指定的多个主机。 默认值:false 父主题: 连接数据库
  • enable_global_plancache 参数说明:设置是否对PBE查询的执行计划进行缓存共享,开启该功能可以节省高并发下数据库节点的内存使用。 在打开enable_global_plancache的情况下,为保证GPC生效,默认local_syscache_threshold不小于16MB。即如当前local_syscache_threshold小于16MB,则设置为16MB,如大于16MB,则不改变。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型。 on表示对PBE查询的执行计划进行缓存共享。 off表示不共享。 默认值:off
  • auto_explain_log_min_duration 参数说明:控制自动打印执行计划的耗时阈值,整体耗时大于auto_explain_log_min_duration的执行计划才会被打印。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~2147483647,单位为毫秒。 设置为0,所有执行过的执行计划都会输出。 设置为3000,单次语句执行耗时超过3000毫秒后所有执行的执行计划会输出。 默认值:0
  • join_collapse_limit 参数说明:根据得出的列表项数来判断优化器是否执行把除FULL JOIN之外的JOIN构造重写到FROM列表中。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~INT_MAX。 设置为1会避免任何JOIN重排。这样就使得查询中指定的连接顺序就是实际的连接顺序。查询优化器并不是总能选取最优的连接顺序,高级用户可以选择暂时把这个变量设置为1,然后指定它们需要的连接顺序。 比默认值小的数值减少规划时间但也降低了执行计划的质量。 默认值:8
  • enable_sonic_optspill 参数说明:标识是否对面向列的hash表设计的Hash Join算子进行下盘文件数优化。该参数打开时,在Hash Join算子下盘文件较多的时候,下盘文件数不会显著增加。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示优化面向列的hash表设计的Hash Join算子的下盘文件数。 off表示不优化面向列的hash表设计的Hash Join算子的下盘文件数。 默认值:on
  • plan_cache_mode 参数说明:标识在prepare语句中,选择生成执行计划的策略。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 auto表示按照默认的方式选择custom plan或者generic plan。 force_generic_plan表示强制走generic plan(软解析)。generic plan是指对于prepare语句生成计划,该计划策略会在执行execute语句的时候把参数bind到plan中,然后执行计划。这种方案的优点是每次执行可以省去重复的优化器开销;缺点是当bind参数字段上数据存在倾斜时该计划可能不是最优的,部分bind参数场景下执行性能较差。 force_custom_plan表示强制走custom plan(硬解析)。custom plan是指对于prepare语句,在执行execute的时候,把execute语句中的参数嵌套到语句之后生成的计划。custom plan会根据execute语句中具体的参数生成计划,这种方案的优点是每次都按照具体的参数生成优选计划,执行性能比较好;缺点是每次执行前都需要重新生成计划,存在大量的重复的优化器开销。 此参数只对prepare语句生效,一般用在prepare语句中参数化字段存在比较严重的数据倾斜的场景下。 默认值:auto
  • enable_extrapolation_stats 参数说明: 标识对于日期类型是否允许基于历史统计信息使用推理估算的逻辑。使用该逻辑对于未及时收集统计信息的表可以增大估算准确的可能性,但也存在错误推理导致估算过大的可能性,需要对于日期类型数据定期插入的场景开启此开关。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许基于历史统计信息使用推理估算的逻辑。 off表示不允许基于历史统计信息使用推理估算的逻辑。 默认值:off
  • cursor_tuple_fraction 参数说明:优化器估计游标获取行数在总行数中的占比。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:浮点型,0.0~1.0。 比默认值小的值与使用 “fast start” 为游标规划的值相偏离,从而使得前几行恢复的很快而抓取全部的行需要很长的时间。比默认值大的值加大了总的估计的时间。在最大的值1.0处,像正常的查询一样规划游标,只考虑总的估计时间和传送第一行的时间。 默认值:0.1
  • plan_mode_seed 参数说明:该参数为调测参数,目前仅支持OPTIMIZE_PLAN和RANDOM_PLAN两种。其中:OPTIMIZE_PLAN表示通过动态规划算法进行代价估算的最优plan,参数值设置为0;RANDOM_PLAN表示随机生成的plan;如果设置为-1,表示用户不指定随机数的种子标识符seed值,由优化器随机生成[1, 2147483647]范围整型值的随机数,并根据随机数生成随机的执行计划;如果用户指定guc参数值为[1, 2147483647]范围的整型值,表示指定的生成随机数的种子标识符seed,优化器需要根据seed值生成随机的执行计划。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,-1~ 2147483647 默认值:0 当该参数设置为随机执行计划模式时,优化器会生成不同的随机执行计划,该执行计划可能不是最优计划。因此在随机计划模式下,会对查询性能产生影响,所以建议在升级、扩容、缩容等正常业务操作或运维过程中将该参数保持为默认值0。 当该参数不为0时,查询指定的plan hint不会生效。
  • autoanalyze 参数说明:标识是否允许在生成计划的时候,对于没有统计信息的表进行统计信息自动收集。对于外表和临时表,不支持autoanalyze,如果需要收集统计信息,用户需手动执行analyze操作。如果在auto analyze某个表的过程中数据库发生异常,当数据库正常运行之后再执行语句有可能仍提示需要收集此表的统计信息。此时需要用户对该表手动执行一次analyze操作,以同步统计信息数据。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许自动进行统计信息收集。 off表示不允许自动进行统计信息收集。 默认值:off 该参数与autovacuum线程下的autoanalyze无关。集中式下该参数不生效。
  • cost_param 参数说明:该参数用于控制在特定的客户场景中,使用不同的估算方法使得估算值与真实值更接近。此参数可以同时控制多种方法,与某一方法对应的位做与操作,不为0表示该方法被选择。 当cost_param & 1 不为0,表示对于求不等值连接选择率时选择一种改良机制,此方法在自连接(两个相同的表之间连接)的估算中更加准确。目前,已弃用cost_param & 1 不为0时的路径,默认选择更优的估算公式; 当cost_param & 2 不为0,表示求多个过滤条件(Filter)的选择率时,选择最小的作为总的选择率,而非两者乘积,此方法在过滤条件的列之间关联性较强时估算更加准确; 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~INT_MAX 默认值:0
  • constraint_exclusion 参数说明:控制查询优化器使用表约束查询的优化。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 on表示检查所有表的约束。 off表示不检查约束。 partition表示只检查继承的子表和UNION ALL子查询。 当constraint_exclusion为on,优化器用查询条件和表的CHECK约束比较,并且在查询条件和约束冲突的时候忽略对表的扫描。 默认值:partition 目前, constraint_exclusion缺省被打开,通常用来实现表分区。为所有的表打开它时,对于简单的查询强加了额外的规划,并且对简单查询没有什么好处。如果不用分区表,可以关掉它。
  • analysis_options 参数说明:通过开启对应选项中所对应的功能选项使用相应的定位功能,包括数据校验、性能统计等,参见取值范围中的选项说明。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 HASH_CONFLICT表示在数据库节点进程的pg_log目录中的log日志中显示hash表的统计信息,包括hash表大小、hash链长、hash冲突情况。 STREAM_DATA_CHECK表示对网络传输前后的数据进行CRC校验。 默认值:ALL,on(),off(HASH_CONFLICT,STREAM_DATA_CHECK),不开启任何定位功能。
  • enable_global_stats 参数说明:标识当前统计信息模式,区别采用全局统计信息收集模式还是单节点统计信息收集模式,默认创建为采用全局统计信息模式。当关闭该参数时,则默认收集数据库第一个节点的统计信息,此时可能会影响生成查询计划的质量,但信息收集性能较优,建议谨慎设置。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on/true表示全局统计信息。 off/false表示数据库节点统计信息。 默认值:on 集中式下该参数不生效。
  • enable_opfusion 参数说明:控制是否对简单增删改查进行优化。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 简单查询限制如下: 只支持indexscan和indexonlyscan,且全部WHERE语句的过滤条件都在索引上。 只支持单表增删改查,不支持join、using。 只支持行存表,不支持分区表,表不支持有触发器。 不支持active sql、QPS等信息统计特性。 不支持正在扩容和缩容的表。 不支持查询或者修改系统列。 只支持简单SELECT语句,例如: SELECT c3 FROM t1 WHERE c1 = ? and c2 =10; 仅可以查询目标表的列,c1和c2列为索引列,后边可以是常量或者参数,可以使用 for update。 只支持简单INSERT语句,例如: INSERT INTO t1 VALUES (?,10,?); 仅支持一个VALUES,VALUES里面的类型可以是常量和参数,不支持returning。 只支持简单DELETE语句,例如: DELETE FROM t1 WHERE c1 = ? and c2 = 10; c1和c2列为索引列,后边可以是常量或者参数。 只支持简单UPDATE语句,例如: UPDATE t1 SET c3 = c3+? WHERE c1 = ? and c2 = 10; c3列修改的值可以是常量和参数,也可以是一个简单的表达式,c1和c2列为索引列,后边可以是常量或者参数。 取值范围:布尔型 on表示使用。 off表示不使用。 默认值:on
  • GS_AUDITING_PRIVILEGE GS_AUDITING_PRIVILEGE视图显示对数据库DDL相关操作的所有审计信息。需要有系统管理员或安全策略管理员权限才可以访问此视图。 表1 GS_AUDITING_PRIVILEGE字段 名称 类型 描述 polname name 策略名称,需要唯一,不可重复。 pol_type text 审计策略类型,值为‘privilege’,表示审计DDL 操作。 polenabled boolean 用来表示策略启动开关。 t(true):启动。 f(false):不启动。 access_type name DDL数据库操作相关类型。例如CREATE、ALTER、DROP等。 label_name name 资源标签名称。对应系统表gs_auditing_policy中的polname字段。 priv_object text 带有数据库对象的全称 域名 。 filter_name text 过滤条件的逻辑字符串。 父主题: 系统视图
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 --建表 openGauss=# CREATE SCHEMA hr; openGauss=# SET CURRENT_SCHEMA = hr; openGauss=# CREATE TABLE staffs ( section_id INTEGER, salary INTEGER ); openGauss=# INSERT INTO staffs VALUES (30, 10); openGauss=# INSERT INTO staffs VALUES (30, 20); --创建存储过程proc_staffs openGauss=# CREATE OR REPLACE PROCEDURE proc_staffs ( section NUMBER(6), salary_sum out NUMBER(8,2), staffs_count out INTEGER ) IS BEGIN SELECT sum(salary), count(*) INTO salary_sum, staffs_count FROM hr.staffs where section_id = section; END; / --创建存储过程proc_return. openGauss=# CREATE OR REPLACE PROCEDURE proc_return AS v_num NUMBER(8,2); v_sum INTEGER; BEGIN proc_staffs(30, v_sum, v_num); --调用语句 dbe_output.print_line(v_sum||'#'||v_num); RETURN; --返回语句 END; / --调用存储过程proc_return. openGauss=# CALL proc_staffs(2,8,6); --清除存储过程 openGauss=# DROP PROCEDURE proc_staffs; openGauss=# DROP PROCEDURE proc_return; --创建函数func_return. openGauss=# CREATE OR REPLACE FUNCTION func_return returns void language plpgsql AS $$ DECLARE v_num INTEGER := 1; BEGIN dbe_output.print_line(v_num); RETURN; --返回语句 END $$; -- 调用函数func_return openGauss=# CALL func_return(); -- 清除函数 openGauss=# DROP FUNCTION func_return; -- 清除当前数据库模式 openGauss=# DROP SCHEMA hr CASCADE;
  • 参数说明 target_role 已有角色的名称。如果省略FOR ROLE/USER,则缺省值为当前角色/用户。 取值范围:已有角色的名称。 schema_name 现有模式的名称。 target_role必须有schema_name的CREATE权限。 取值范围:现有模式的名称。 role_name 被授予或者取消权限角色的名称。 取值范围:已存在的角色名称。 如果想删除一个被赋予了默认权限的角色,有必要恢复改变的缺省权限或者使用DROP OWNED BY来为角色脱离缺省的权限记录。
  • 语法格式 ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } target_role [, ...] ] [ IN SCHEMA schema_name [, ...] ] abbreviated_grant_or_revoke; 其中abbreviated_grant_or_revoke子句用于指定对哪些对象进行授权或回收权限。 grant_on_tables_clause | grant_on_sequences_clause | grant_on_functions_clause | grant_on_types_clause | revoke_on_tables_clause | revoke_on_sequences_clause | revoke_on_functions_clause | revoke_on_types_clause 其中grant_on_tables_clause子句用于对表授权。 GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFEREN CES | ALTER | DROP | COMMENT | INDEX | VACUUM } [, ...] | ALL [ PRIVILEGES ] } ON TABLES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] 其中grant_on_sequences_clause子句用于对序列授权。 1 2 3 4 5 GRANT { { SELECT | UPDATE | USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] } ON SEQUENCES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] 其中grant_on_functions_clause子句用于对函数授权。 GRANT { { EXECUTE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] } ON FUNCTIONS TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] 其中grant_on_types_clause子句用于对类型授权。 GRANT { { USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] } ON TYPES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] 其中revoke_on_tables_clause子句用于回收表对象的权限。 REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | ALTER | DROP | COMMENT | INDEX | VACUUM } [, ...] | ALL [ PRIVILEGES ] } ON TABLES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ] 其中revoke_on_sequences_clause子句用于回收序列的权限。 1 2 3 4 5 6 REVOKE [ GRANT OPTION FOR ] { { SELECT | UPDATE | USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] } ON SEQUENCES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ] 其中revoke_on_functions_clause子句用于回收函数的权限。 REVOKE [ GRANT OPTION FOR ] { {EXECUTE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] } ON FUNCTIONS FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ] 其中revoke_on_types_clause子句用于回收类型的权限。 REVOKE [ GRANT OPTION FOR ] { { USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] } ON TYPES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ]
  • 示例 --将创建在模式tpcds里的所有表(和视图)的SELECT权限授予每一个用户。 openGauss=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds GRANT SELECT ON TABLES TO PUBLIC; --创建用户普通用户jack。 openGauss=# CREATE USER jack PASSWORD '********'; --将tpcds下的所有表的插入权限授予用户jack。 openGauss=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds GRANT INSERT ON TABLES TO jack; --撤销上述权限。 openGauss=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds REVOKE SELECT ON TABLES FROM PUBLIC; openGauss=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds REVOKE INSERT ON TABLES FROM jack; --删除用户jack。 openGauss=# DROP USER jack CASCADE; --删除SCHEMA。 openGauss=# DROP SCHEMA tpcds;
  • DBE_PLDEBUGGER.next 执行存储过程中当前的sql,返回执行的下一条的行数和对应query。 表1 next返回值列表 名称 类型 描述 funcoid OUT oid 函数id funcname OUT text 函数名 lineno OUT integer 当前调试运行的下一行行号 query OUT text 当前调试的下一行函数源码 父主题: DBE_PLDEBUGGER Schema
  • PG_PREPARED_STATEMENTS PG_PREPARED_STATEMENTS视图显示当前会话所有可用的预备语句的信息。 表1 PG_PREPARED_STATEMENTS字段 名称 类型 描述 name text 预备语句的标识符。 statement text 创建该预备语句的查询字符串。对于从SQL创建的预备语句而言是客户端提交的PREPARE语句;对于通过前/后端协议创建的预备语句而言是预备语句自身的文本。 prepare_time timestamp with time zone 创建该预备语句的时间戳。 parameter_types regtype[] 该预备语句期望的参数类型,以regtype类型的数组格式出现。与该数组元素相对应的OID可以通过把regtype转换为OID值得到。 from_sql boolean 如果该预备语句是通过PREPARE语句创建的则为true。 如果是通过前/后端协议创建的则为false。 父主题: 系统视图
  • 示例 创建一个名为serial的递增序列,从101开始: openGauss=# CREATE SEQUENCE serial START 101 CACHE 20; 从序列中选出下一个数字: openGauss=# SELECT nextval('serial'); nextval --------- 101 从序列中选出下一个数字: openGauss=# SELECT nextval('serial'); nextval --------- 102 创建与表关联的序列: openGauss=# CREATE TABLE customer_address ( ca_address_sk integer not null, ca_address_id char(16) not null, ca_street_number char(10) , ca_street_name varchar(60) , ca_street_type char(15) , ca_suite_number char(10) , ca_city varchar(60) , ca_county varchar(30) , ca_state char(2) , ca_zip char(10) , ca_country varchar(20) , ca_gmt_offset decimal(5,2) , ca_location_type char(20) ); openGauss=# CREATE SEQUENCE serial1 START 101 CACHE 20 OWNED BY customer_address.ca_address_sk; --删除表和序列 openGauss=# DROP TABLE customer_address; openGauss=# DROP SEQUENCE serial cascade; openGauss=# DROP SEQUENCE serial1 cascade;
共100000条