
openGauss
文章平均质量分 59
如清风一般
云淡风轻
展开
-
openGauss- 极致RTO按需回放
支撑资源池化部署下数据库主机重启后快速恢复的场景。支撑资源池化部署下备机加速failover,降低RTO。本特性基于现有极致RTO特性演进而来。原创 2024-08-28 15:10:18 · 344 阅读 · 0 评论 -
openGauss-动态数据脱敏机制
数据脱敏是行之有效的数据库隐私保护方案之一,可以在一定程度上限制非授权用户对隐私数据的窥探。动态数据脱敏机制是一种通过定制化制定脱敏策略从而实现对隐私数据保护的一种技术,可以有效地在保留原始数据的前提下解决非授权用户对敏感信息的访问问题。当管理员指定待脱敏对象和定制数据脱敏策略后,用户所查询的数据库资源如果关联到对应的脱敏策略时,则会根据用户身份和脱敏策略进行数据脱敏,从而限制非授权用户对隐私数据的访问。原创 2024-08-27 11:31:05 · 690 阅读 · 0 评论 -
openGauss-PG接口兼容
兼容PSQL客户端,兼容PostgreSQL标准接口。原创 2024-08-27 11:08:26 · 151 阅读 · 0 评论 -
openGauss-SCRLock加速分布式锁
在资源池化场景下使用SCRLock提供分布式锁能力,提高分布式锁性能。原创 2024-08-27 09:35:59 · 430 阅读 · 0 评论 -
openGauss-openGauss客户端工具DataStudio
DataStudio 是面向开发人员和数据库管理员的通用集成开发环境。它简化了openGauss 数据库的开发和管理。管理和创建数据库对象执行 SQL 语句或 SQL 脚本编辑和执行PL/SQL语句导入和导出表格数据。原创 2024-08-27 09:24:19 · 456 阅读 · 0 评论 -
openGauss-MySQL_openGauss迁移工具chameleon
chameleon工具是一个基于Python语言的MySQL到openGauss的实时复制工具。该工具提供了初始全量数据的复制以及增量数据的实时复制能力,可实现数据从MySQL迁移至openGauss。对于数据的全量和增量迁移,支持MySQL中各种数据类型的迁移,同时对于MySQL中的浮点数据类型,包括decimal、dec、numeric、float、float4、float8、real、double、double precision、fixed数据类型,可保证迁移后数据精度不丢失。原创 2024-08-26 11:08:28 · 342 阅读 · 0 评论 -
openGauss SQLBindCol
函数,并将HandleType和Handle参数设置为SQL_HANDLE_STMT和StatementHandle,可得到一个相关的SQLSTATE值,通过SQLSTATE值可以查出调用此函数的具体信息。:指向与列绑定的数据缓冲区的指针。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。起始列号为0,以递增的顺序计算列号,第0列是书签列。TargetValuePtr指向缓冲区的长度,以字节为单位。原创 2024-08-24 09:15:00 · 250 阅读 · 0 评论 -
openGauss影响容灾性能指标的GUC参数设置
如果要开启极致RTO,应至少满足每台机器上的逻辑CPU数大于打开极致RTO后额外启动的线程数(计算公式为 (recovery_parse_workers * (recovery_redo_workers + 2) + 5) * 每台机器上的DN实例数),否则可能出现线程对CPU资源争抢的情况,导致容灾流程中部分操作耗时变长,无法达到容灾特性规格。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。原创 2024-08-23 11:13:52 · 205 阅读 · 0 评论 -
openGauss特性约束
开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。详情查看:https://docs-opengauss.osinfra.cn。详细参考文档:README.md 、 命令行参数名称及说明.md。详情查看:https://opengauss.org。原创 2024-08-23 11:11:54 · 235 阅读 · 0 评论 -
openGauss两地三中心跨Region容灾
从openGauss 3.1.0版本开始,两地三中心跨Region容灾开始提供该解决方案。原创 2024-08-23 11:10:49 · 296 阅读 · 0 评论 -
openGauss常见主备部署方案
以上为一些典型的部署方案,用户可以依据自身实际业务场景对以上各种部署方案进行调整,比如增减备机数量、调整中心数量、适当安置同步备和异步备、适当使用级联备机等。组网特点: 双集群容灾方案,两个独立集群,主备集群组网方式可任意选择,备集群会选出首备连接主集群的主DN,灾备集群内都以级联备方式连接首备。组网特点: 两地三中心,每个AZ都保证至少有一个同步备,同时地点和中心数的增加,集群的可靠性能够达到最高。组网特点: 同城两个AZ,相比单AZ可靠性更强,主中心和同城中心可以分别配置一个同步备。原创 2024-08-23 11:06:04 · 345 阅读 · 0 评论 -
openGauss相关概念
根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数据库用户。openGauss的模式是对数据库做一个逻辑分割。openGauss的模式和用户是弱绑定的,所谓的弱绑定是指虽然创建用户的同时会自动创建一个同名模式,但用户也可以单独创建模式,并且为用户指定其他的模式。创建数据对象时可以指定对应的表空间,如果不指定相应的表空间,相关的对象会默认保存在PG_DEFAULT空间中。在openGauss中,表空间是一个目录,可以存在多个,里面存储的是它所包含的数据库的各种物理文件。原创 2024-08-23 11:05:23 · 219 阅读 · 0 评论 -
openGauss典型应用场景配置
上述用例中定义了number列,调用SQLBindParameter接口时,绑定SQL_NUMERIC会比SQL_LONG性能高一些。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。unixODBC日志将会生成在TraceFile配置的路径下,psqlODBC会在系统/tmp/下生成mylog_xxx.log。详情查看:https://docs-opengauss.osinfra.cn。原创 2024-08-23 11:04:40 · 313 阅读 · 0 评论 -
openGauss示例:常用功能和批量绑定
常用功能示例代码// 此示例演示如何通过ODBC方式获取openGauss中的数据。// DBtest.c (compile with: libodbc.so) #include #include #include #ifdef WIN32#include #endif SQLHENV V_OD_Env; // Handle ODBC environment SQLHSTMT原创 2024-08-23 11:04:07 · 256 阅读 · 0 评论 -
openGauss开发流程
ODBC为应用程序与数据库的中心层,负责把应用程序发出的SQL指令传到数据库当中,自身并不解析SQL语法。故在应用程序中写入带有保密信息的SQL语句时(如明文密码),保密信息会被暴露在驱动日志中。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。数据库中收到的一次执行请求(不在事务块中),如果含有多条语句,将会被打包成一个事务,同时如果其中有一个语句失败,那么整个请求都将会被回滚。获取结果集中列的描述信息。原创 2024-08-23 11:03:34 · 273 阅读 · 0 评论 -
openGauss将openGauss提供的ODBC DRIVER(psqlodbcw.so)配置到数据源中便可使用
将openGauss提供的ODBC DRIVER(psqlodbcw.so)配置到数据源中便可使用。配置数据源需要配置“odbc.ini”和“odbcinst.ini”两个文件(在编译安装unixODBC过程中生成且默认放在“/usr/local/etc”目录下),并在服务器端进行配置。原创 2024-08-23 11:03:07 · 622 阅读 · 0 评论 -
openGaussLinux下的ODBC包
Linux下的ODBC包原创 2024-08-23 11:02:29 · 184 阅读 · 0 评论 -
openGauss SQLAllocHandle
当分配的句柄并非环境句柄时,如果SQLAllocHandle返回的值为SQL_ERROR,则它会将OutputHandlePtr的值设置为SQL_NULL_HDBC、SQL_NULL_HSTMT或SQL_NULL_HDESC。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。申请句柄顺序为,先申请环境句柄,再申请连接句柄,最后申请语句句柄,后申请的句柄都要依赖它前面申请的句柄。将要分配的新句柄的类型。原创 2024-08-23 11:01:43 · 286 阅读 · 0 评论 -
openGauss SQLBindParameter
函数,并将HandleType和Handle参数设置为SQL_HANDLE_STMT和StatementHandle,可得到一个相关的SQLSTATE值,通过SQLSTATE值可以查出调用此函数的具体信息。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。将一条SQL语句中的一个参数标志和一个缓冲区绑定起来。列的十进制数字或相应参数标记的表达式。列的大小或相应参数标记的表达式。参数的SQL数据类型。原创 2024-08-23 11:00:13 · 377 阅读 · 0 评论 -
openGauss示例:常用操作
开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。详情查看:https://docs-opengauss.osinfra.cn。此示例将演示如何基于openGauss提供的JDBC接口开发应用程序。详细参考文档:README.md 、 命令行参数名称及说明.md。详情查看:https://opengauss.org。原创 2024-08-22 11:02:03 · 138 阅读 · 0 评论 -
openGauss Oracle兼容模式启用重载时,调用存储过程
打开参数behavior_compat_options='proc_outparam_override'后,JDBC调用事先创建的存储过程,步骤如下:调用Connection的prepareCall方法创建调用语句对象。调用CallableStatement的setInt方法设置参数。调用CallableStatement的registerOutParameter方法注册输出参数。调用CallableStatement的execute执行方法调用。原创 2024-08-22 10:59:38 · 846 阅读 · 0 评论 -
openGauss执行SQL语句
因此,如果多次执行一条语句,请选择使用预编译语句。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。调用PreparedStatement的executeUpdate方法执行预编译SQL语句。调用PreparedStatement的close方法关闭预编译语句对象。调用Connection的prepareCall方法创建调用语句对象。调用CallableStatement的close方法关闭调用语句。原创 2024-08-22 10:58:20 · 677 阅读 · 0 评论 -
openGauss连接数据库(UDS方式)
需要引用的jar包有junixsocket-core-XXX.jar、junixsocket-common-XXX.jar、junixsocket-native-common-XXX.jar。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。详情查看:https://docs-opengauss.osinfra.cn。详情查看:https://opengauss.org。原创 2024-08-22 10:57:22 · 302 阅读 · 0 评论 -
openGauss连接数据库(以SSL方式)
用户通过JDBC连接openGauss服务器时,可以通过开启SSL加密客户端和服务器之间的通讯,为敏感数据在Internet上的传输提供了一种安全保障手段。本小节主要介绍应用程序通过JDBC如何采用SSL的方式连接openGauss。在使用本小节所描述的方法前,默认用户已经获取了服务端和客户端所需要的证书和私钥文件,关于证书等文件的获取请参考Openssl相关文档和命令。原创 2024-08-22 10:56:38 · 996 阅读 · 0 评论 -
openGauss连接数据库
在创建数据库连接之后,才能使用它来执行SQL语句操作数据。原创 2024-08-22 10:53:36 · 1024 阅读 · 0 评论 -
openGauss提供两种JDBCjar包
openGauss提供两种JDBCjar包:postgresql.jar和openGauss-jdbc-x.x.x.jar,两种jar包功能一致,仅仅是为了解决和PostgreSQL之间的JDBC驱动包名冲突。在Linux服务器端源代码目录下执行build.sh,获得驱动jar包postgresql.jar和opengauss-jdbc-x.x.x.jar,包位置在源代码内output目录下。也可以从官网发布包中获取,包名为openGauss-x.x.x-JDBC.tar.gz。原创 2024-08-22 10:51:53 · 717 阅读 · 0 评论 -
openGauss SQL编写
例如,在下面查询语句中,当T1.C1列不存在NULL值时,可以先为T1.C1字段添加NOT NULL约束,再进行如下改写。【建议】在查询编写时,建议明确列出查询涉及的所有字段,不建议使用“SELECT *”这种写法。))用来统计多列的唯一值数量,当所有统计字段都为NULL时,也会被计数,同时这些记录被认为是相同的。【建议】使用ORDER BY子句进行排序时,显式指定排序方式(ASC/DESC),NULL的排序方式(NULL FIRST/NULL LAST)。【建议】尽量避免标量子查询语句的出现。原创 2024-08-22 10:39:27 · 805 阅读 · 0 评论 -
openGauss DEFAULT和NULL约束
Partial Cluster Key(局部聚簇,简称PCK)是列存表的一种局部聚簇技术,在openGauss中,使用PCK可以通过min/max稀疏索引实现事实表快速过滤扫描。原创 2024-08-22 10:34:26 · 357 阅读 · 0 评论 -
openGauss支持行列混合存储
openGauss支持行列混合存储。行、列存储模型各有优劣,建议根据实际情况选择。通常openGauss用于TP场景的数据库,默认使用行存储,仅对执行复杂查询且数据量大的AP场景时,才使用列存储。行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。行存储和列存储的差异请参见。行存储和列存储的差异上图中,左上为行存表,右上为行存表在硬盘上的存储方式。左下为列存表,右下为列存表在硬盘上的存储方式。行存数据被保存在一起。INSERT/UPDATE容易。原创 2024-08-22 10:22:03 · 534 阅读 · 0 评论 -
openGauss的数据分布在各个DN上。
开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。openGauss的数据分布在各个DN上。详情查看:https://docs-opengauss.osinfra.cn。详细参考文档:README.md 、 命令行参数名称及说明.md。详情查看:https://opengauss.org。原创 2024-08-22 10:21:25 · 179 阅读 · 0 评论 -
openGauss中可以使用Database和Schema实现业务的隔离
openGauss中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。Schema隔离的方式共用资源较多,可以通过grant与revoke语法便捷地控制不同用户对各Schema及其下属对象的权限。原创 2024-08-22 10:20:46 · 338 阅读 · 0 评论 -
openGauss数据库对象命名
开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。【建议】避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。标识符非时序表长度不超过63个字节,时序表(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)长度不超过53个字符。【建议】表对象的命名应该可以表征该表的重要特征。若标识符被双引号("")包含,则可以使用合法字符的任意组合,如"123gs_column"。原创 2024-08-22 10:19:47 · 506 阅读 · 0 评论 -
在openGauss中,建议DDL
【建议】如果要清理表中的所有数据,建议使用truncate table方式,不要使用delete table方式。开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master。【建议】在批量数据入库之后,或者数据增量达到一定阈值后,建议对表进行analyze操作,防止统计信息不准确而导致的执行计划劣化。详情查看:https://docs-opengauss.osinfra.cn。原创 2024-08-22 10:19:02 · 299 阅读 · 0 评论 -
openGauss 数据库内容推荐(5)
#openGausshttps://opengauss.org/zh/原创 2024-08-22 10:17:33 · 385 阅读 · 0 评论 -
openGauss 数据库内容推荐(4)
openGauss 数据库内容推荐()原创 2024-08-21 16:03:33 · 222 阅读 · 0 评论 -
openGauss 数据库内容推荐(3)
openGauss原创 2024-08-21 16:02:06 · 150 阅读 · 0 评论 -
openGauss 数据库内容推荐(2)
openGauss 数据库内容原创 2024-08-21 16:01:28 · 201 阅读 · 0 评论 -
openGauss段空间(segment space)
一个database(在一个tableapace中)有且仅有一个段空间(segment space),实际物理存储可以是一个文件,也可以拆分成多个文件。该database中所有table都是从该段空间中分配数据。所以表的个数和物理文件个数无关。段空间创建触发条件:create database test1;创建数据库同时会创建该数据库对应的段空间。段空间的文件(段页式文件):5个文件及其分片和fork文件,分别命名为1,2,3,4,5。原创 2024-08-21 16:00:00 · 251 阅读 · 0 评论 -
openGauss 数据库内容推荐(1)
示例执行如下命令将表customer_t1中c_customer_sk为9527的地域重新定义为9876。openGauss=# UPDATE customer_t1 SET c_customer_sk = 9876 WHERE c_customer_sk = 9527;UPDATE 1这里的表名称也可以使用模式名修饰,否则会从默认的模式路径找到这个表。SET后面紧跟字段和新的字段值。新的字段值不仅可以是常量,也可以是变量表达式。比如,把所有c_customer_sk的值增加100:ope原创 2024-08-21 15:58:01 · 193 阅读 · 0 评论 -
openGauss UPDATE语句
修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行,所有行或者指定的部分行。还可以独立更新每个字段,而其他字段则不受影响。UPDATE修改满足条件的所有行中指定的字段值,WHERE子句声明条件,SET子句指定的字段会被修改,没有出现的字段则保持它们的原值。语法格式UPDATE table_name SET column_name = { expression | DEFAULT } [WHERE condition ];参数说明table_name要更新的表名,可以使用模式修饰原创 2024-08-21 15:56:18 · 193 阅读 · 0 评论