openGauss/MogDB/PostgreSQL对比学习

本文将从日常使用的角度对比学习国产数据库openGauss/MogDB与开源数据库PostgreSQL之间的差异点。

smartquitafterallclientshavedisconnectedfastquitdirectly,withpropershutdown(default)immediatequitwithoutcompleteshutdown;willleadtorecoveryonrestart

fastquitdirectly,withpropershutdownimmediatequitwithoutcompleteshutdown;willleadtorecoveryonrestart

smart模式下,数据库会等待所有的客户端链接主动断开连接,此时数据库服务不允许接受新连接请求,但允许现有连接继续操作,直到所有连接都主动退出之后,数据库主进程才会发送SIGUSR2信号给checkpointer进程去执行shutdowncheckpoint类型的检查点。这样所有客户端连接提交的数据都已刷盘,下次PG启动时不需要做crash恢复。

fast模式是默认关闭方式,这种模式下数据库会通过发送SIGTERM信息来立刻终止所有打开的事务,同时也不允许接受新的连接请求。终止客户端连接之后也会发起shutdowncheckpoint类型的检查点来避免下次启动服务时做restartpoint。这种模式也是生产中推荐的使用方式,会终止当前的客户端连接。

上述三种模式,smart其实极少使用,生产通常也是使用fast模式,immediate模式只有在紧急情况下才会考虑。

例如查看事务日志点位信息

归档开关参数都是archive_mode,但是归档命令参数有区别。

archive_command='cp%p/opt/archive/%f'pg里面是配置archive_command参数,可以配置shell命令。

archive_dest='/opt/archive'MogDB是配置archive_dest参数,直接配置归档路径即可。

pg里面创建的用户默认是具有public模式的使用及创建权限,owner用户可以管理自己的对象。

postgres=>select*frompg_namespacewherenspname='public';oid|nspname|nspowner|nspacl------+---------+----------+-------------------------------------2200|public|10|{postgres=UC/postgres,=UC/postgres}(1row)上面从schema元数据列nspacl也可以看到默认是具有UC权限(U:usage,Ccreate)

gs_initdb初始化时使用-S,--security后,用户默认将不具有public模式的使用权限。

openGauss=#selectnspaclfrompg_namespacewherenspname='public';nspacl--------------{omm=UC/omm}(1row)上面从schema元数据列nspacl也可以看到默认不具有模式的使用权限。

下面进行测试,可以看到有报错提示

用户口令加密的参数名称有区别,同时sha256算法有不同的实现,互相不兼容。

password_encryption='scram-sha-256'pg里面是配置password_encryption参数,可以配置md5或者scram-sha-256。

password_encryption_type=1MogDB是配置password_encryption_type参数,0只支持标准的md5口令存储,与PG保持兼容,1支持md5和国密的sha256,2只支持国密sha256,不兼容PG。

copy的分隔符:

copy的容错机制

表结构

CREATETEMPTABLEfoo(abigint,btext);数据文件tab.dat

1 one2 3 three 111four45 five普通的copy导入,因为有多余的数据项会报错

omm=#copyfoofrom'/home/omm/tab.dat';ERROR:extradataafterlastexpectedcolumnCONTEXT:COPYfoo,line3:"3 three 111"copy使用ignore_extra_data忽略多余的列

omm=#copyfoofrom'/home/omm/tab.dat'with(ignore_extra_data);ERROR:invalidinputsyntaxfortypebigint:"four4"CONTEXT:COPYfoo,line4,columna:"four4"copy使用log_errors和reject_limit

omm=#copyfoofrom'/home/omm/tab.dat'with(ignore_extra_data,log_errors,reject_limit'unlimited');COPY4reject_limit参数对copyfrom的容错机制设置数值上限,一旦错误数据超过选项指定条数,则会按照原有机制报错。取值范围:正整数(1-INTMAX),‘unlimited’(无最大值限制)此时已经导入成功了4条数据,可以从下面的查询看出。

omm=#select*fromfoo;a|b---+-------1|one2|3|three5|five(4rows)还有一条报错的信息记录在系统自动创建的pgxc_copy_error_log表中。

omm=#\xExpandeddisplayison.omm=#select*frompgxc_copy_error_log;-[RECORD1]-------------------------------------------------relname|pg_temp_gaussdb_8_1_140368156813056.foobegintime|2021-06-2711:29:00.529073+00filename|/home/omm/tab.datlineno|4rawrecord|detail|invalidinputsyntaxfortypebigint:"four4"上面rawrecord是没有内容的,使用log_errors_data替代log_errors会记录rawrecord

truncatetablepgxc_copy_error_log;truncatetablefoo;copyfoofrom'/home/omm/tab.dat'with(ignore_extra_data,log_errors_data,reject_limit'unlimited');omm=#select*frompgxc_copy_error_log;-[RECORD1]-------------------------------------------------relname|pg_temp_gaussdb_8_1_140368156813056.foobegintime|2021-06-2711:34:34.104653+00filename|/home/omm/tab.datlineno|4rawrecord|four4detail|invalidinputsyntaxfortypebigint:"four4"9.Upsert(insertorupdate)PostgreSQLcreatetabletest_upsert(idintprimarykey,infovarchar);postgres=#insertintotest_upsert(id,info)postgres-#values(1,'aaa');INSERT01下面插入主键重复的数据

postgres=#insertintotest_upsert(id,info)postgres-#values(1,'bbb');ERROR:duplicatekeyvalueviolatesuniqueconstraint"test_upsert_pkey"DETAIL:Key(id)=(1)alreadyexists.不使用upsert语法,会报错返回给客户端,不太友好

postgres=#insertintotest_upsert(id,info)postgres-#values(1,'bbb')postgres-#onconflict(id)doupdatesetinfo=excluded.info;INSERT01postgres=#select*fromtest_upsert;id|info----+------1|bbb(1row)使用upsert语法,有冲突时可选择donothing跳过或者doupdate覆盖更新

THE END
1.技术动态知识相结合的提示学习研究综述文章浏览阅读430次。转载公众号 | 专知近年来,提示学习方法由于可以充分激发预训练语言模型的潜能而得到了研究者越来越多的关注,特别是在知识抽取任务中取得了较好进展。为了提升提示学习性能,研究者也开展了基于知识的提示学习模板工程、答案工程优化等多项研究。该文对提https://blog.csdn.net/TgqDT3gGaMdkHasLZv/article/details/134323192
2.表现性任务:让学习变得既有意思又有意义学生学习内动力的激发主要来自三个方面:一是有意思,二是有挑战,三是有意义。https://mp.weixin.qq.com/s?__biz=MzA4ODY4MzAxOQ==&mid=2649991484&idx=1&sn=78ef170e025c30ae727ca44d69483619&chksm=88216e58bf56e74ed40707ade7a7aceec702c813e3e09f31e1c912ec34a7ff9ed33e1bec30d7&scene=27
3.“教学评一致性”的灵魂崔允漷教授指出:无论是课程意义层面的课程标准,还是课堂意义层面的学习目标,均凸显了目标建构在”教-学-评一致性”中的核心地位。换言之,“教-学-评一致性”的根本遵循是核心素养导向的育人目标,“教-学-评一致性”的课程实施正是核心素养导向下育人目标统领的课程改革实践。 http://www.jzjyyun.cn/studio/index.php?r=studiowechat/album/view&id=66820&sid=1431
4.跨学科知识建构:内涵特征,概念模型和实践原则第44 卷第 7 期 2024 年 7 月 CHINESE JOURNAL OF DISTANCE EDUCATION Volume 44 lssue 7 July 2024 跨学科知识建构:内涵特征,概念模型和实践原则 董艳 阳思雨 周欣雨 郑娅峰 摘要:知识建构作为一种高阶认知活动,对学习者创新能力发展具有重要作用.当前,知 识建构的应用场景已由单一学科知识习得转化为跨学科知识http://cjde.ouchn.edu.cn/EN/PDF/157
5.对比学习(contrastivelearning)51CTO博客监督学习是指一种学习范式,其中数据及其对应的标签都可用于训练模型。另一方面,在自监督学习中,模型在没有任何外部支持的情况下使用原始输入数据生成标签。 专业提示:查看机器学习中数据预处理的简单指南。 在自监督对比学习 (SSCL) 中,由于没有类标签,正样本和负样本是通过各种数据增强技术从锚图像本身生成的https://blog.51cto.com/sddai/6317099
6.从说书到学习社群—以得到为典型分析知识变现和社群的结合(含目录 一、知识变现产品形态的概述和对比二、得到的用户画像三、得到的迭代路线1.内容形式的丰富、创新和精简化2.阅读、播放操作体验优化,适应用户的碎片化学习场景3.付费栏目迭代https://www.jianshu.com/p/14775e32b58d
7.AI年度总结与展望:超大规模预训练模型爆发,自动驾驶迎商业化前夜随着对预训练模型的深入理解,预训练模型的知识学习和表征的机理逐步明确,人们得以更加顺利地往模型里注入需要其学习的知识,在这些知识的加持下,对复杂任务的应对能力得到了大幅提升。 2)对比学习、自监督和知识增强 以对比学习为中心,多种增强方法为工具的方式能进一步提升预训练模型的语义理解和表征能力,增强方法的深https://www.tmtpost.com/5974823.html
8.小学数学乘法的初步认识说课稿(通用12篇)所以教材结合具体活动情境,从让学生认识相同数相加开始,并结合具体的事例,沟通同数相加和乘法的关系。通过让学生动手操作、动眼观察、动脑探究等学习活动,使他们逐步体会乘法的意义,从而帮助学生牢固扎实地建立“乘法”的概念,为以后学习多位数乘法打下坚实的基础。https://www.yjbys.com/shuokegao/xiaoxue/3547867.html
9.西安市优质教育资源共享平台2.对于自读课文《人民英雄永垂不朽》《蝉》《梦回繁华》,参考旁批、阅读提示进行阅读,思考并回答旁批问题。 五读:境读——采用各种学习活动,运用多种媒介,提高语言理解与运用能力。 二、建构单元核心知识体系。 第三部分课堂探究 【课前自主检测】 1.通读单元精读课文《中国石拱桥》《苏州园林》 ,尝试找出说明对象http://xaeduyun.cn/si1ia/acommonapp/csite/ablog/cblog/ablog/cblog.mblogBrowse.do?blogid=2c908165825e2b1d0182b012dc5f679e
10.加减混合教案15篇[讨论过程中,重点提示学生:① 首先,在别的同学发言时,要认真地倾听同学的发言,找出其他同学的优缺点。② 其次,在听完别人的发言后,要善于给同学提出有价值的问题。③ 要善于在交流的过程中学习。学习别人的好方法、好思路、好习惯等。] 方法一 对比三种方法,选择最优方法 https://mip.ruiwen.com/jiaoan/3351685.html
11.生物实验心得(15篇)在新课标中每个学习主题都包括内容要求、学业要求和教学提示,其中,内容要求以大概念、重要概念和次位概念的形式呈现相应的概念体系,清晰条理,有利于教师的教和学生的学;学业要求部分对学生学完相应主题的内容后在核心素养方面的表现提出具体要求;教学提示部分包括教学策略建议、情境素材建议和学习活动建议,通过对这些内容的https://www.fwsir.com/Soft/html/Soft_20221217080907_2143625.html
12.20款学习桌对比试验:2款符合国家标准但存安全隐患浦江头条上海建科检验有限公司检测人员提示,经过比对,实木书桌抗污染能力可能并不理想,因此,建议家长在给孩子选购书桌时,应根据孩子实际情况综合考虑。 此处对比实验,最贵的售价为7999元的2平米牌的儿童书桌,就存在孔及间隙不符合,桌面耐污染测试不符合,以及警示标识不规范的情况。 https://www.thepaper.cn/newsDetail_forward_2391947
13.传承与创新:南京大学外国语学院研究生学术文集(语言学与翻译卷续论不仅强调结果,还注重过程,关注学习者各项能力是如何一步步变化发展的,以及他们对此的反应如何;通过对不同时间节点学习者表现的对比,挖掘学习者能力的综合发展过程。 动态系统理论强调了各因素间的相互联系和交互关系。根据动态系统理论,语境应当被纳入考察范围;语言习得涉及多种变量,这些变量出现在系统中的多个要素https://m.zhangyue.com/readbook/12811236/4.html