05 2024 档案

摘要:ODBC接口参考 ODBC接口是一套提供给用户的API函数,本节将对部分常用接口做具体描述,若涉及其他接口可参考msdn中ODBC Programmer's Reference项的相关内容。 SQLAllocEnv SQLAllocConnect SQLAllocHandle SQLAllocStm 阅读全文
posted @ 2024-05-16 18:54 techbing 阅读(19) 评论(0) 推荐(0) 编辑
摘要:ODBC包及依赖的库和头文件 Linux下的ODBC包 从发布包中获取,包名为openGauss-x.x.x-ODBC.tar.gz。Linux环境下,开发应用程序要用到unixODBC提供的头文件(sql.h、sqlext.h等)和库libodbc.so。这些头文件和库可从unixODBC-2.3 阅读全文
posted @ 2024-05-16 18:53 techbing 阅读(24) 评论(0) 推荐(0) 编辑
摘要:lo_write 功能描述 向一个大对象写入数据。 原型 int lo_write(PGconn* conn, int fd, const char* buf, size_t len); 参数 表 1 lo_write参数 关键字 参数说明 conn 一个数据库连接 fd 文件描述符 buf 要写入 阅读全文
posted @ 2024-05-16 18:53 techbing 阅读(8) 评论(0) 推荐(0) 编辑
摘要:lo_unlink 功能描述 从数据库中移除一个大对象。 原型 int lo_unlink(PGconn* conn, Oid lobjId); 参数 表 1 lo_unlink参数 关键字 参数说明 conn 一个数据库连接 lobjId 要移除的大对象的OID 返回值 int:成功时返回1,失败 阅读全文
posted @ 2024-05-16 18:52 techbing 阅读(3) 评论(0) 推荐(0) 编辑
摘要:lo_truncate 功能描述 将一个大对象截断成一个给定长度。 原型 int lo_truncate(PGconn* conn, int fd, size_t len); 参数 表 1 lo_truncate参数 关键字 参数说明 conn 一个数据库连接 fd 文件描述符 len 要截断的长度 阅读全文
posted @ 2024-05-16 18:51 techbing 阅读(7) 评论(0) 推荐(0) 编辑
摘要:lo_tell 功能描述 得到一个大对象描述符的当前读或写位置。 原型 int lo_tell(PGconn* conn, int fd); 参数 表 1 lo_tell参数 关键字 参数说明 conn 一个数据库连接 fd 文件描述符 返回值 int:失败时返回值为-1。 lo_tell64 功能 阅读全文
posted @ 2024-05-16 18:51 techbing 阅读(5) 评论(0) 推荐(0) 编辑
摘要:lo_read 功能描述 从一个大对象读取数据。 原型 int lo_read(PGconn* conn, int fd, char* buf, size_t len); 参数 表 1 lo_read参数 关键字 参数说明 conn 一个数据库连接 fd 文件描述符 buf 从大对象描述符中读取最多 阅读全文
posted @ 2024-05-16 18:50 techbing 阅读(1) 评论(0) 推荐(0) 编辑
摘要:lo_open 功能描述 打开一个现有的大对象进行读写。 原型 int lo_open(PGconn* conn, Oid lobjId, int mode); 参数 表 1 lo_open参数 关键字 参数说明 conn 一个数据库连接 lobjId 要打开的大对象的OID mode 控制打开对象 阅读全文
posted @ 2024-05-16 18:50 techbing 阅读(4) 评论(0) 推荐(0) 编辑
摘要:lo_lseek 功能描述 改变一个大对象描述符的当前读或写位置。 原型 int lo_lseek(PGconn* conn, int fd, int offset, int whence); 参数 表 1 lo_lseek参数 关键字 参数说明 conn 一个数据库连接 fd 文件描述符 offs 阅读全文
posted @ 2024-05-16 18:50 techbing 阅读(7) 评论(0) 推荐(0) 编辑
摘要:lo_import 功能描述 将一个服务器端的操作系统文件导入成一个大对象。 原型 Oid lo_import(PGconn* conn, const char* filename); 参数 表 1 lo_import参数 关键字 参数说明 conn 一个数据库连接 filename 要导入的文件的 阅读全文
posted @ 2024-05-16 18:49 techbing 阅读(11) 评论(0) 推荐(0) 编辑
摘要:lo_export 功能描述 把一个大对象导出到一个服务器端的操作系统文件。 原型 int lo_export(PGconn* conn, Oid lobjId, const char* filename); 参数 表 1 lo_export参数 关键字 参数说明 conn 一个数据库连接 lobj 阅读全文
posted @ 2024-05-16 18:49 techbing 阅读(3) 评论(0) 推荐(0) 编辑
摘要:lo_creat 功能描述 创建一个大对象。 原型 Oid lo_creat(PGconn* conn, int mode); 参数 表 1 lo_creat参数 关键字 参数说明 conn 一个数据库连接 mode 指定只读、只写或者读写,已弃用、会被忽略,为兼容旧版本而保留参数 返回值 oid: 阅读全文
posted @ 2024-05-16 18:48 techbing 阅读(6) 评论(0) 推荐(0) 编辑
摘要:lo_close 功能描述 关闭一个大对象描述符。 原型 int lo_close(PGconn* conn, int fd); 参数 表 1 lo_close参数 关键字 参数说明 conn 一个数据库连接 fd 文件描述符 返回值 int:成功时返回1,失败时返回-1。 示例 请参见示例章节。 阅读全文
posted @ 2024-05-16 18:48 techbing 阅读(2) 评论(0) 推荐(0) 编辑
摘要:Linux下配置数据源 将openGauss提供的ODBC DRIVER(psqlodbcw.so)配置到数据源中便可使用。配置数据源需要配置“odbc.ini”和“odbcinst.ini”两个文件(在编译安装unixODBC过程中生成且默认放在“/usr/local/etc”目录下),并在服务器 阅读全文
posted @ 2024-05-16 18:47 techbing 阅读(112) 评论(0) 推荐(0) 编辑
摘要:libpq使用依赖的头文件 使用libpq的前端程序必须包括头文件libpq-fe.h并且必须与libpq库链接。 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn 阅读全文
posted @ 2024-05-16 18:47 techbing 阅读(4) 评论(0) 推荐(0) 编辑
摘要:libpq接口参考 数据库连接控制函数 数据库执行语句函数 大对象操作函数 异步命令处理 取消正在处理的查询 示例 链接参数 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn 阅读全文
posted @ 2024-05-16 18:47 techbing 阅读(15) 评论(0) 推荐(0) 编辑
摘要:JDBC配置 目前,openGauss相关的第三方工具都是通过JDBC进行连接的,此部分将介绍工具配置时的注意事项。 连接参数 【关注】第三方工具通过JDBC连接openGauss时,JDBC向openGauss发起连接请求,会默认添加以下配置参数,详见JDBC代码ConnectionFactory 阅读全文
posted @ 2024-05-16 18:46 techbing 阅读(471) 评论(0) 推荐(0) 编辑
摘要:JDBC接口参考 JDBC接口是一套提供给用户的API方法,本节将对部分常用接口做具体描述,若涉及其他接口可参考JDK1.8(软件包)/JDBC4.0中相关内容。 java.sql.Connection java.sql.CallableStatement java.sql.DatabaseMeta 阅读全文
posted @ 2024-05-16 18:46 techbing 阅读(19) 评论(0) 推荐(0) 编辑
摘要:JDBC常用参数参考 targetServerType 原理: 值为master时会依次尝试连接串中配置的ip,直到能够连接到集群中的主机, 值为slave时会依次尝试连接串中配置的ip,直到能够连接到集群中的备机(查询语句为:select local_role, db_state from pg_ 阅读全文
posted @ 2024-05-16 18:46 techbing 阅读(291) 评论(0) 推荐(0) 编辑
摘要:JDBC包、驱动类和环境类 JDBC包 openGauss提供两种JDBCjar包:postgresql.jar和openGauss-jdbc-x.x.x.jar,两种jar包功能一致,仅仅是为了解决和PostgreSQL之间的JDBC驱动包名冲突。 在Linux服务器端源代码目录下执行build. 阅读全文
posted @ 2024-05-16 18:45 techbing 阅读(352) 评论(0) 推荐(0) 编辑
摘要:javax.sql.PooledConnection javax.sql.PooledConnection是由连接池创建的连接接口。 表 1 对javax.sql.PooledConnection的支持情况 方法名 返回值类型 支持JDBC 4 addConnectionEventListener 阅读全文
posted @ 2024-05-16 18:45 techbing 阅读(8) 评论(0) 推荐(0) 编辑
摘要:javax.sql.DataSource javax.sql.DataSource是数据源接口。 表 1 对javax.sql.DataSource接口的支持情况 方法名 返回值类型 支持JDBC 4 getConneciton() Connection Yes getConnection(Stri 阅读全文
posted @ 2024-05-16 18:45 techbing 阅读(11) 评论(0) 推荐(0) 编辑
摘要:javax.sql.ConnectionPoolDataSource javax.sql.ConnectionPoolDataSource是数据源连接池接口。 表 1 对javax.sql.ConnectionPoolDataSource的支持情况 方法名 返回值类型 支持JDBC 4 getPoo 阅读全文
posted @ 2024-05-16 18:44 techbing 阅读(6) 评论(0) 推荐(0) 编辑
摘要:javax.naming.spi.InitialContextFactory javax.naming.spi.InitialContextFactory是初始连接上下文工厂接口。 表 1 对javax.naming.spi.InitialContextFactory的支持情况 方法名 返回值类型 阅读全文
posted @ 2024-05-16 18:44 techbing 阅读(2) 评论(0) 推荐(0) 编辑
摘要:javax.naming.Context javax.naming.Context是连接配置的上下文接口。 表 1 对javax.naming.Context的支持情况 方法名 返回值类型 支持JDBC 4 bind(Name name, Object obj) void Yes bind(Stri 阅读全文
posted @ 2024-05-16 18:43 techbing 阅读(2) 评论(0) 推荐(0) 编辑
摘要:PQcancel 功能描述 要求服务器放弃处理当前命令。 原型 int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize); 参数 表 1 PQcancel参数 关键字 参数说明 cancel 指向包含cancel信息的对象指针。 err 阅读全文
posted @ 2024-05-16 18:43 techbing 阅读(5) 评论(0) 推荐(0) 编辑
摘要:java.sql.Statement java.sql.Statement是SQL语句接口。 表 1 对java.sql.Statement的支持情况 方法名 返回值类型 支持JDBC 4 addBatch​(String sql) void Yes clearBatch() void Yes cl 阅读全文
posted @ 2024-05-16 18:43 techbing 阅读(12) 评论(0) 推荐(0) 编辑
摘要:java.sql.DatabaseMetaData java.sql.DatabaseMetaData是数据库对象定义接口。 表 1 对java.sql.DatabaseMetaData的支持情况 方法名 返回值类型 支持JDBC 4 allProceduresAreCallable() boole 阅读全文
posted @ 2024-05-16 18:42 techbing 阅读(5) 评论(0) 推荐(0) 编辑
摘要:java.sql.Connection java.sql.Connection是数据库连接接口。 表 1 对java.sql.Connection接口的支持情况 方法名 返回值类型 支持JDBC 4 abort(Executor executor) void Yes clearWarnings() 阅读全文
posted @ 2024-05-16 18:42 techbing 阅读(10) 评论(0) 推荐(0) 编辑
摘要:java.sql.CallableStatement java.sql.CallableStatement是存储过程执行接口。 表 1 对java.sql.CallableStatement的支持情况 方法名 返回值类型 支持JDBC 4 getArray(int parameterIndex) A 阅读全文
posted @ 2024-05-16 18:41 techbing 阅读(9) 评论(0) 推荐(0) 编辑
摘要:数据安全维护建议 为保证openGauss数据库中的数据安全,避免丢失数据,非法访问数据等事故发生,请仔细阅读以下内容。 避免数据被丢失 建议用户规划周期性的物理备份,且对备份文件进行可靠的保存。在系统发生严重错误的情况下,可以利用备份文件,将系统恢复到备份前的状态。 避免数据被非法访问 建议对数据 阅读全文
posted @ 2024-05-14 16:51 techbing 阅读(13) 评论(0) 推荐(0) 编辑
摘要:示例2:从MY迁移数据 下面示例演示如何通过CopyManager从MY向openGauss进行数据迁移的过程。 import java.io.StringReader; import java.sql.Connection; import java.sql.DriverManager; impor 阅读全文
posted @ 2024-05-14 16:51 techbing 阅读(39) 评论(0) 推荐(0) 编辑
摘要:事务隔离说明 openGauss基于MVCC(多版本并发控制)并结合两阶段锁的方式进行事务管理,其特点是读写之间不阻塞。SELECT是纯读操作,UPDATE和DELETE是读写操作。 读写操作和纯读操作之间并不会发生冲突,读写操作之间也不会发生冲突。每个并发事务在事务开始时创建事务快照,并发事务之间 阅读全文
posted @ 2024-05-14 16:50 techbing 阅读(26) 评论(0) 推荐(0) 编辑
摘要:示例1:通过本地文件导入导出数据 在使用JAVA语言基于openGauss进行二次开发时,可以使用CopyManager接口,通过流方式,将数据库中的数据导出到本地文件或者将本地文件导入数据库中,文件格式支持CSV、TEXT等格式。 样例程序如下,执行时需要加载openGauss的JDBC驱动。 i 阅读全文
posted @ 2024-05-14 16:50 techbing 阅读(122) 评论(0) 推荐(0) 编辑
摘要:使用逻辑复制工具复制数据 目前支持openGauss逻辑复制的工具有SDR和DRS。复制工具从openGauss抽取逻辑日志后到对端数据库回放。对于使用JDBC连接数据库的复制工具,具体代码请参考示例:逻辑复制代码示例。 详情查看:https://opengauss.org 详情查看:https:/ 阅读全文
posted @ 2024-05-14 16:49 techbing 阅读(50) 评论(0) 推荐(0) 编辑
摘要:使用合并方式更新和插入数据 在用户需要将一个表中所有的数据或大量的数据添加至现有表的场景下,openGauss提供了MERGE INTO语句通过两个表合并的方式高效地将新数据添加到现有表。 MERGE INTO语句将目标表和源表中数据针对关联条件进行匹配,若关联条件匹配时对目标表进行UPDATE,关 阅读全文
posted @ 2024-05-14 16:49 techbing 阅读(151) 评论(0) 推荐(0) 编辑
摘要:使用SQL函数接口进行逻辑解码 openGauss可以通过调用SQL函数,进行创建、删除、推进逻辑复制槽,获取解码后的事务日志。 前提条件 逻辑日志目前从主机节点中抽取,如果进行逻辑复制,需要保证GUC参数ssl=on。 说明: 为避免安全风险,请保证启用SSL连接。 设置GUC参数wal_leve 阅读全文
posted @ 2024-05-14 16:48 techbing 阅读(11) 评论(0) 推荐(0) 编辑
摘要:使用gsql元命令导入数据 gsql工具提供了元命令\copy进行数据导入。 \copy命令 \copy命令格式以及说明参见表 1 \copy元命令说明。 表 1 \copy元命令说明 语法 说明 \copy { table [ ( column_list ) ] | ( query ) } { f 阅读全文
posted @ 2024-05-14 16:47 techbing 阅读(301) 评论(0) 推荐(0) 编辑
摘要:使用gs_restore命令导入数据 操作场景 gs_restore是openGauss数据库提供的与gs_dump配套的导入工具。通过该工具,可将gs_dump导出的文件导入至数据库。gs_restore支持导入的文件格式包含自定义归档格式、目录归档格式和tar归档格式。 gs_restore具备 阅读全文
posted @ 2024-05-14 16:47 techbing 阅读(232) 评论(0) 推荐(0) 编辑
摘要:使用gs_dump和gs_dumpall命令导出数据 概述 导出单个数据库 导出所有数据库 无权限角色导出数据 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn 阅读全文
posted @ 2024-05-14 16:47 techbing 阅读(65) 评论(0) 推荐(0) 编辑
摘要:使用DML命令更新表 openGauss支持标准的数据库操作语言(DML)命令,对表进行更新。 操作步骤 假设存在表customer_t,表结构如下: openGauss=# CREATE TABLE customer_t ( c_customer_sk integer, c_customer_id 阅读全文
posted @ 2024-05-14 16:45 techbing 阅读(21) 评论(0) 推荐(0) 编辑
摘要:使用CREATE TABLE执行深层复制 该方法使用CREATE TABLE语句创建原始表的副本,将原始表的数据填充至副本并重命名副本,完成原始表的复制。 在创建新表时,可以指定表以及列属性,比如主键。 操作步骤 执行如下步骤对表customer_t进行深层复制。 使用CREATE TABLE语句创 阅读全文
posted @ 2024-05-14 16:45 techbing 阅读(14) 评论(0) 推荐(0) 编辑
摘要:使用CREATE TABLE LIKE执行深层复制 该方法使用CREATE TABLE LIKE语句创建原始表的副本,将原始表的数据填充至副本并重命名副本,完成原始表的复制。该方法不继承父表的主键属性,您可以使用ALTER TABLE语句来添加它们。 操作步骤 使用CREATE TABLE LIKE 阅读全文
posted @ 2024-05-14 16:45 techbing 阅读(55) 评论(0) 推荐(0) 编辑
摘要:使用COPY FROM STDIN导入数据 关于COPY FROM STDIN导入数据 CopyManager类简介 处理错误表 示例1:通过本地文件导入导出数据 示例2:从MY迁移数据 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.o 阅读全文
posted @ 2024-05-14 16:44 techbing 阅读(15) 评论(0) 推荐(0) 编辑
摘要:深层复制 数据导入后,如果需要修改表的分区键、或者将行存表改列存、添加PCK(Partial Cluster Key)约束等场景下,可以使用深层复制的方式对表进行调整。深层复制是指重新创建表,然后使用批量插入填充表的过程。 openGauss提供了三种深层复制的方式供用户选择。 使用CREATE T 阅读全文
posted @ 2024-05-14 16:44 techbing 阅读(11) 评论(0) 推荐(0) 编辑
摘要:闪回恢复 闪回恢复功能是数据库恢复技术的一环,可以有选择性的撤销一个已提交事务的影响,将数据从人为不正确的操作中进行恢复。在采用闪回技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。采用闪回技术后,恢复已提交的数据库修改前的数据,只需要秒级,而且恢复时间 阅读全文
posted @ 2024-05-14 16:44 techbing 阅读(5) 评论(0) 推荐(0) 编辑
摘要:闪回查询 背景信息 闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据。 前提条件 undo_retention_time参数用于设置undo旧版本的保留时间。 语法 阅读全文
posted @ 2024-05-14 16:43 techbing 阅读(29) 评论(0) 推荐(0) 编辑
摘要:闪回表 背景信息 闪回表可以将表恢复至特定时间点,当逻辑损坏仅限于一个或一组表,而不是整个数据库时,此特性可以快速恢复表的数据。闪回表基于MVCC多版本机制,通过删除指定时间点和该时间点之后的增量数据,并找回指定时间点和当前时间点删除的数据,实现表级数据还原。 前提条件 undo_retention 阅读全文
posted @ 2024-05-14 16:43 techbing 阅读(13) 评论(0) 推荐(0) 编辑
摘要:闪回DROP/TRUNCATE 背景信息 闪回DROP:可以恢复意外删除的表,从回收站(recyclebin)中恢复被删除的表及其附属结构如索引、表约束等。闪回drop是基于回收站机制,通过还原回收站中记录的表的物理文件,实现已drop表的恢复。 闪回TRUNCATE:可以恢复误操作或意外被进行tr 阅读全文
posted @ 2024-05-14 16:42 techbing 阅读(66) 评论(0) 推荐(0) 编辑
摘要:日志参考 日志类型简介 在数据库运行过程中,会出现大量日志,既有保证数据库安全可靠的WAL日志(预写式日志,也称为Xlog),也有用于数据库日常维护的运行和操作日志等。在数据库发生故障时,可以参考这些日志进行问题定位和数据库恢复的操作。 日志类型 日志类型的详细说明请参见下表。 表 1 日志类型 类 阅读全文
posted @ 2024-05-14 16:42 techbing 阅读(172) 评论(0) 推荐(0) 编辑
摘要:强制结束指定的问题会话 问题现象 有些情况下,为了使系统继续提供服务,管理员需要强制结束有问题的会话。 处理办法 以操作系统用户omm登录主机。 使用如下命令连接数据库。 gsql -d postgres -p 8000 postgres为需要连接的数据库名称,8000为端口号。 从当前活动会话视图 阅读全文
posted @ 2024-05-14 16:42 techbing 阅读(83) 评论(0) 推荐(0) 编辑
摘要:启停openGauss 启动openGauss 以操作系统用户omm登录数据库主节点。 使用以下命令启动openGauss。 gs_ctl start -D /opt/data 说明: 如果提示找不到gs_ctl,请检查是否source过环境变量文件(默认是~/.bashrc),若不想source环 阅读全文
posted @ 2024-05-14 16:41 techbing 阅读(73) 评论(0) 推荐(0) 编辑
摘要:配置设置 发布订阅要求设置一些配置选项。 在发布者端,wal_level必须被设置为logical,而max_replication_slots中设置的值必须至少是预期要连接的订阅数加上保留给表同步的连接数。发布端参数max_wal_senders应满足:max_wal_senders >= max 阅读全文
posted @ 2024-05-14 16:41 techbing 阅读(34) 评论(0) 推荐(0) 编辑
摘要:内存不足问题 问题现象 客户端或日志里出现错误:memory usage reach the max_dynamic_memory。 原因分析 出现内存不足可能因GUC参数max_process_memory值设置较小相关,该参数限制一个openGauss实例可用最大内存。 处理分析 通过工具gs_ 阅读全文
posted @ 2024-05-14 16:41 techbing 阅读(39) 评论(0) 推荐(0) 编辑
摘要:慢SQL诊断 背景信息 在SQL语句执行性能不符合预期时,可以查看SQL语句执行信息,便于事后分析SQL语句执行时的行为,从而诊断SQL语句执行出现的相关问题。 前提条件 数据库实例运行正常。 查询SQL语句信息,需要正确设置GUC参数track_stmt_stat_level。 只能用系统管理员和 阅读全文
posted @ 2024-05-14 16:40 techbing 阅读(40) 评论(0) 推荐(0) 编辑
摘要:逻辑解码概述 功能描述 openGauss对数据复制能力的支持情况为: 支持通过数据迁移工具定期向异构数据库(如Oracle等)进行数据同步,不具备实时数据复制能力。不足以支撑与异构数据库间并网运行实时数据同步的诉求。 openGauss提供了逻辑解码功能,通过反解xlog的方式生成逻辑日志。目标数 阅读全文
posted @ 2024-05-14 16:40 techbing 阅读(17) 评论(0) 推荐(0) 编辑
摘要:逻辑复制支持DDL操作 功能描述 Vastbase在逻辑复制过程中支持如下DDL操作: CREATE/DROP TABLE|TABLE PARTITION CREATE/DROP INDEX 注意事项 只支持行存表的DDL操作。 不支持列存,ustore存储引擎。 在订阅端手动删除表会导致DDL同步 阅读全文
posted @ 2024-05-14 16:39 techbing 阅读(27) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示