标签 金仓数据库 下的文章

新元启幕,万象更新;榜单出炉,洞察先机。2026 年首期中国数据库排行榜正式发布,本期榜单整体格局延续此前态势,排名变化不大。回顾 2025 年,国产数据库厂商整体表现稳健,技术路线与产品定位进一步清晰。

在这一背景下,1 月榜单的表现也为观察当前国产数据库市场的竞争格局与发展趋势提供了一个清晰窗口。接下来,和小编一同盘点本月榜单部分产品的亮眼表现。

一、PolarDB 升榜眼,达梦守前三

最新数据库榜单前十揭晓,OceanBase 毫无悬念卫冕榜首,PolarDB 实力突围跃升榜眼,达梦数据库稳坐前三之位。值得关注的是,本月前十排名中,仅 PolarDB 与达梦两家的位次发生调整,其余产品座次保持不变。


图1:中国数据库流行度排行榜前十得分情况

新年伊始,OceanBase 以737.24分稳居榜首,这份领先地位的背后,是其在技术研发、工程实践与战略布局上的全方位深耕。在数据库核心问题研究上,OceanBase始终深耕不辍,联合华东师范大学发表的论文《APQO:自适应参数化查询优化框架》成功入选数据库顶级会议SIGMOD 2026;与中国人民大学合作完成的关系型数据库缺陷实证研究成果,也顺利被IEEE TSE正式录用,通过系统分析777个真实缺陷,足见其在工程质量与底层机制打磨上的持续深耕。

工程与产品打磨上,2025全年OceanBase完成460次投产稳定支撑1500余个关键业务系统运行,在高复杂度生产环境中沉淀出成熟的交付与运维体系;全年累计推进16次版本迭代,新增489项功能与158项数据库相关专利,工程体系化能力进一步夯实。面向AI时代浪潮,OceanBase持续推进一体化战略,不仅发布兼容TP、AP与AI负载的融合版本OceanBase 4.4,还推出AI原生混合搜索数据库SeekDB助力Data × AI战略落地,其在AI就绪数据库方向的探索,更首次获得IDC面向生成式AI的数据基础设施“领导者”评价。

本月 PolarDB以654.49分排名较上月上升一位,跻身榜眼之位,整体表现稳中有进。行业认可方面,Gartner 2025年全球云数据库管理系统魔力象限给出了有力佐证——阿里云连续第六年入选“领导者”象限,且是亚太区唯一入选厂商。这一成绩的背后,作为阿里云核心云原生关系型数据库的PolarDB提供了重要技术支撑,充分印证自身产品成熟度、技术完整性与全球竞争力。


图2:Gartner 2025年全球云数据库管理系统魔力象限

IDC最新报告披露的市场数据同样可观,2025年上半年中国关系型数据库软件市场规模达22.1亿美元,公有云关系型数据库同比增长16.3%,增速优于整体市场;阿里云位列市场前三,在云数据库规模化交付与行业覆盖上的优势,为PolarDB的持续落地与增长筑牢市场基础。


图3:2025 年上半年中国关系型数据库软件市场规模前三名分别为:阿里云、腾讯、华为

达梦数据库本月以614.76分稳居榜单第三名,核心竞争力集中在多关键行业的国产化落地成效,以及技术与生态的双重突破。国产化实践推进中,达梦不断拓宽覆盖边界、提升项目复杂度,在医疗、通信、交通等领域均交出亮眼答卷:助力武汉大学人民医院完成病案管理系统底层数据库升级重构;与福建移动深化国产化替代合作,还助力其斩获“数字中国创新大赛”奖项;参与建设的西镇高速全路段国产化收费系统已实现稳定运行。

底层能力打磨与生态建设同步推进,凭借扎实的生态建设成果,达梦荣获2025 IDC中国生态奖;资本市场上,达梦数据(688692)成功入选“科创板上市公司价值30强”。综合来看,达梦数据库本月稳居前列,正是其在重点行业落地、技术自主可控及生态体系建设上持续发力的必然结果。

金篆信科GoldenDB 本月表现亮眼,以577.06分位居行业排行榜第四位,核心竞争力在权威认可与关键行业落地中充分彰显,成为国产数据库领域的核心标杆。权威评选中,2025数据智能“星河(Galaxy)”案例评选给出有力背书,GoldenDB成为入选案例数量最多的数据库厂商,充分印证其技术落地能力与行业实践深度。

关键行业布局中,运营商领域GoldenDB稳居领先地位,在中国移动、中国联通核心系统数据库市场占比分别超80%、60%,每日支撑9亿+移动用户、12亿+物联网用户计费,与多家移动公司合作的核心业务改造、智能运维等案例均获权威认可,转型成效显著。金融领域更是实现突破,作为业界首家覆盖全类型金融机构核心系统的国产数据库,其服务超100家金融机构,每日承载超100亿笔、10万亿元交易,获头部机构战略投资,连续稳居市场占有率第一。

本月,金仓数据库以568.20分位列行业排行榜第五位,核心优势集中在关键行业持续落地与产品能力的迭代完善上。能源领域始终是其重点实践方向,截至目前,已累计支撑1000余个发电厂项目,部署3000多套数据库,覆盖全国31个省(区),形成扎实的规模化应用基础。

产品能力打磨上,金仓数据库聚焦部署、安全与性能三大核心维度持续优化;行业认可持续加码,金仓数据库与辽宁移动、新疆移动等合作的多项实践成功入选2025数据资产管理大会“星河案例”榜单。

排名第六位的腾讯云TDSQL表现尤为亮眼,核心竞争力集中在金融核心系统领域的规模化落地能力与高可靠运行水平。2025年年终决算作为银行IT体系最具挑战性的关键节点,TDSQL成功护航70余家金融机构实现“零失误”完成决算,覆盖国内超过半数Top 100银行,服务对象涵盖国有大行、头部股份制银行、城商行及支付清算机构,行业覆盖的深度与广度持续提升。

YashanDB稳居行业排行榜前十,回顾2025年,其在行业影响力与技术能力两方面均取得实质进展,不仅跻身墨天轮中国数据库流行度排行榜前十,核心技术能力更获得中国电子学会“国际领先水平”认证,技术成熟度与专业认可度同步提升。

产品与技术演进上,YashanDB V23.5版本以“TP+”为核心理念,面向企业混合工作负载场景进行系统性优化,多个关键模块能力实现跃升。综合来看,崖山数据库在保持榜单稳定位置的同时,通过持续的产品迭代与技术深化,进一步夯实了其在混合负载数据库方向的竞争力。

二、细分产品实力出圈,多元特色创新破局


图4:本月亮点数据库得分情况

在月度中国数据库排行榜的头部阵营之外,一批各具技术特色与落地实力的数据库产品同样表现亮眼。它们或是凭借长期技术积淀夯实竞争力,或是依托行业标杆项目实现排名跃升,或是在细分赛道突破创新,共同勾勒出国产数据库多元化发展的活力图景。

本期榜单中,排名第十一位的 openGauss 的稳定表现源于长期技术积累,核心支撑落在持续的内核演进、软硬协同优化与工程能力沉淀上。去年11月发布的7.0.0创新版,基于鲲鹏920平台在权威HTAP基准测试HyBench中斩获H-Score 2831.89的优异成绩,再度刷新性能纪录。

openGauss Summit 2025的召开,进一步释放出持续演进的明确信号。大会不仅开源业界首个多写数据库架构oGRAC,更发布“1+2”技术战略,敲定多读多写、超节点数据库及AI原生多模态数据库底座的建设方向。

Apache IoTDB 位次稳定保持在第20位,商业场景与航天领域的双重落地突破,成为榜单排名的核心支撑,充分验证其技术成熟度与市场适配能力。依托高吞吐读写能力、高压缩比及端 — 边 — 云协同架构的核心优势,Apache IoTDB 在关键场景中持续彰显硬核实力。航天领域更是斩获亮眼成果,12 月 3 日朱雀三号遥一运载火箭成功首飞入轨,这款国产时序数据库为此次试验提供高效数据管理支撑。

本月,万里数据库排名稳步提升至第34名,重点行业项目的持续落地成为核心增长动力。作为国家级专精特新“小巨人”企业,万里数据库深耕国产自主可控数据库研发,核心产品GreatDB在金融与运营商领域的实践成效持续凸显。在运营商“O域系统国产替代”项目中,GreatDB凭借对MySQL协议与生态的高度兼容,实现应用平滑迁移与业务连续运行,迁移效率与运维友好性得到充分验证。深厚的技术积淀叠加丰富的行业实践,让万里数据库已构建起成熟的自主可控数据库解决方案。

同方数科自主研发的KBase多模数据库成为本月榜单最大“黑马”。独特的搜索/NXD/RDF/向量四模一体架构是KBase的核心竞争力,集成98%精准度中文处理算法与400万概念词典,全文检索性能达2TB/s,十亿级向量检索可实现毫秒响应,在大规模知识管理与复杂数据处理场景优势显著。目前产品已通过信通院搜索型数据库与向量数据库双评测,斩获35项信创认证,全面适配鲲鹏/飞腾芯片及统信/麒麟系统,核心能力获得权威背书。

近期,一款数据库新品凭借亮眼动作引发行业关注 —— 数翊科技自主研发的海纳数据库(HexaDB)于 12 月完成近亿元融资,这款定位于库仓一体型的产品,精准覆盖高并发交易与实时分析并存的复杂业务场景,成长势头强劲。

成立于 2022 年的数翊科技,已凭借 HexaDB 在金融、智能制造、车联网、物联网等领域服务多家头部客户,产品逐步切入企业关键业务系统。技术架构上,数翊科技构建起自主创新的 H-T-A-I-P 全栈技术体系,实现交易型、分析型与智能型业务的一体化融合。研发布局层面,华中研发总部已落地武汉光谷,聚焦核心技术持续攻坚,强化区域服务与产业协同。随着技术能力、行业实践与研发布局的持续完善,HexaDB 正在实时库仓一体化与 “DB for AI” 方向上,逐步释放工程化与商业化潜力。

三、见证荣耀时刻,2025年度数据库奖项揭晓

在全球数字化转型持续深入与国家信创战略全面落地的双重推动下,数据库作为支撑数字经济运转的核心基础设施,正经历着从技术跟跑到自主引领的关键跨越。2025 年,云原生与人工智能的深度融合,不仅重构了数据库的技术架构,更催生出多元化的行业应用场景,国产数据库厂商也在核心技术突破与关键系统替代中交出亮眼答卷。

为梳理年度发展成果、树立行业标杆,墨天轮社区依托近 50 个权威评估指标启动 2025 年数据库奖项评选。接下来,就让我们一同揭晓本年度脱颖而出的行业璀璨亮点。

点击查看年度获奖名单


图5:2025年度数据库获奖名单

本次评选落下帷幕,上榜的每一款产品都以独特的技术优势与应用价值,勾勒出数据库领域的年度发展图景。我们期待,未来能见证更多产品在自主研发的道路上稳步迈进,在关键场景中持续释放价值,书写国产数据库的崭新篇章。


相关阅读

原文链接https://www.modb.pro/db/2010657961249693696

欲了解更多可浏览墨天轮社区,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。

关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯

金仓数据库中包含各种数据库对象,常见的KingBase对象有:数据库、模式、表、索引、视图、存储过程、存储函数和触发器等等。这里将介绍金仓数据库中常见的数据库对象以及如何使用它们。视频讲解如下:
https://www.bilibili.com/video/BV1RQz3B9ERT/?aid=115930646454...

一、 数据库与模式

数据库本身也是一个KingBase的数据库对象。数据库对象中包含其他所有的数据库对象,如:模式、表、视图、索引等等。使用命令create database可以创建一个新的数据库,下面展示了该命令的格式:

CREATE DATABASE name
     [ WITH ] [ OWNER [=] user_name ]
           [ TEMPLATE [=] template ]
           [ ENCODING [=] encoding ]
           [ LC_COLLATE [=] lc_collate ]
           [ LC_CTYPE [=] lc_ctype ]
           [ TABLESPACE [=] tablespace_name ]
           [ ALLOW_CONNECTIONS [=] allowconn ]
           [ CONNECTION LIMIT [=] connlimit ]
           [ IS_TEMPLATE [=] istemplate ]

一个数据库包含一个或多个模式(Schema),模式中又包含了表、函数及操作符等数据库对象。创建新数据库时,KingBase会自动创建名为public的模式。使用命令create schema可以创建一个新的模式,下面展示了该命令的格式:

CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ]
CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification

其中 role_specification 可以是:

    user_name
  | CURRENT_USER
  | SESSION_USER

在了解到数据库与模式的概念后,下面通过具体的操作来演示如何创建和使用它们。
(1)创建一个新的数据库dbtest。

scott=# create database dbtest;

(2)查看已存在的数据库列表。

scott=# \l

# 输出的信息如下:
                                        数据库列表
   名称    | 拥有者 | 字元编码 |  校对规则   |    Ctype    | ICU 排序 |     存取权限      
-----------+--------+----------+-------------+-------------+----------+-------------------
 dbtest    | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | 
 kingbase  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | 
 scott     | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | 
 security  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | 
 template0 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | =c/system        +
           |        |          |             |             |          | system=CTc/system
 template1 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | =c/system        +
           |        |          |             |             |          | system=CTc/system
 test      | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | 
(7 行记录)

(3)切换到数据库dbtest。

scott=# \c dbtest 
您现在以用户名"system"连接到数据库"dbtest"。

(4)查看数据库dbtest中的模式。

dbtest=# \dn

# 输出的信息如下:
       架构模式列表
       名称       | 拥有者 
------------------+--------
 anon             | system
 dbms_job         | system
 dbms_scheduler   | system
 dbms_sql         | system
 kdb_schedule     | system
 perf             | system
 public           | system
 src_restrict     | system
 sys_hm           | system
 sysaudit         | system
 sysmac           | system
 wmsys            | system
 xlog_record_read | system
(13 行记录)

# 这里的public的模式是创建数据库对象的默认模式。

(5)创建一个新的模式。

dbtest=# create schema firstschema;

(6)重新查看数据库dbtest中的模式。

dbtest=# \dn

# 输出的信息如下:
       架构模式列表
       名称       | 拥有者 
------------------+--------
 anon             | system
 dbms_job         | system
 dbms_scheduler   | system
 dbms_sql         | system
 firstschema      | system
 kdb_schedule     | system
 perf             | system
 public           | system
 src_restrict     | system
 sys_hm           | system
 sysaudit         | system
 sysmac           | system
 wmsys            | system
 xlog_record_read | system
(14 行记录)

二、 创建与管理表

表是一种非常重要的数据库对象。金仓数据库的数据都是存储在表中。KingBase的表是一种二维结构,由行和列组成。表有列组成,列有列的数据类型。下面通过具体的步骤来演示如何操作金仓数据库的表。这些操作包括创建表、查看表、修改表和删除表。

(1)创建一张新的表test2.

dbtest=# create table test2(id int,name varchar(32),age int);

# 由于创建表时没有指定模式的名称,因此表将创建在public模式下。
# 如果要在指定的模式下创建表,可以使用下面的语句:
dbtest=# create table firstschema.test2(id int,name varchar(32),age int);

(2)查看表的结构。

dbtest=# \d test2

# 输出的信息如下:
                    数据表 "public.test2"
 栏位 |            类型            | 校对规则 | 可空的 | 预设 
------+----------------------------+----------+--------+------
 id   | integer                    |          |        | 
 name | character varying(32 char) |          |        | 
 age  | integer                    |          |        | 

(3)在表中增加一个字段。

dbtest=# alter table test2 add gender varchar(1) default 'M';

# 这里增加了一个gender字段用于表示性别,默认是“M”。

(4)重新查看表的结构。

dbtest=# \d test2

# 输出的信息如下:
                         数据表 "public.test2"
  栏位  |            类型            | 校对规则 | 可空的 |     预设     
--------+----------------------------+----------+--------+--------------
 id     | integer                    |          |        | 
 name   | character varying(32 char) |          |        | 
 age    | integer                    |          |        | 
 gender | character varying(1 char)  |          |        | 'M'::varchar

(5)修改表将gender字段的长度改为10个字符。

dbtest=# alter table test2 alter gender type varchar(10);

(6)删除gender字段。

dbtest=# alter table test2 drop column gender;

(7)删除表test2。

dbtest=# drop table test2;

三、 在查询时使用索引

数据库查询是数据库的主要功能之一,最基本的查询算法是顺序查找(linear search)时间复杂度为O(n),显然在数据量很大时效率很低。优化的查找算法如二分查找(binary search)、二叉树查找(binary tree search)等,虽然查找效率提高了。但是各自对检索的数据都有要求:二分查找要求被检索数据有序,而二叉树查找只能应用于二叉查找树上,但是数据本身的组织结构不可能完全满足各种数据结构。所以在数据之外,数据库系统还维护着满足特定查找算法的数据结构。这些数据结构以某种方式指向数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构就是索引。金仓数据库官方对索引的定义为:索引(Index)是帮助KingBase高效获取数据的数据结构。索引是一种数据结构。金仓数据库默认的索引类型是B树索引。下图是一颗简单的B树,可见它与二叉树最大的区别是它允许一个节点有多于2个的元素,每个节点都包含key和数据,查找时可以使用二分的方式快速搜索数据。

image.png

在了解到了KingBase索引的基本知识以后,下面将通过具体的步骤演示来说明如何在KingBase中创建索引,并且在查询语句中使用它。
(1)查看scott数据库中部门表dept和员工表emp上的索引信息。

scott=# select index_name,index_type,table_name,status
        from user_indexes where table_name in ('DEPT','EMP');
        
# 输出的信息如下:
 index_name | index_type | table_name | status 
------------+------------+------------+--------
 DEPT_PKEY  | BTREE      | DEPT       | VALID
 EMP_PKEY   | BTREE      | EMP        | VALID
(2 行记录)

# user_indexes是一个视图,可以通过它获取某个用户创建的索引信息。

(2)使用create index命令在员工表emp的薪水sal字段上创建完全索引。

scott=# create index index_full on emp using btree(sal);

# 完全索引会基于该字段上的所有值创建索引。
# 同时,在创建索引的时候会进行锁表的操作,可以使用 CIC (create index concurrently),
# 但创建索引的时间相对较长。例如:
scott=# create index concurrently index1 on emp using btree(sal);

(3)下面的语句将在员工表上创建一个部分索引。

scott=# create index index_part on emp using btree(sal) where sal<3000;

# 部分索引是对于表的部分数据创建索引。
# 如果发现表的某一部分数据查询次数较多时,可以考虑在这部分数据上创建一个部分索引。
# 部分索引相较于完全索引,查询的性能将得到提高,并且部分索引文件所占的空间也会小于全索引。

(4)在员工表emp的员工姓名ename上创建表达式索引。

scott=# create index index_exp on emp(lower(ename));

# 对于表达式索引的维护代价比较高,因为在每一行插入或更新时需要重新计算相应表达式的值,
# 但是针对于表达式索引在查询时的效率更高,因为表达式的值会直接存储在索引中。

(5)使用explain语句查看SQL查询时的执行计划。

scott=# explain select * from emp where lower(ename) like 'king';

# 输出的信息如下:
                     QUERY PLAN                     
----------------------------------------------------
 Seq Scan on emp  (cost=0.00..1.21 rows=1 width=42)
   Filter: (lower((ename)::text) ~~ 'king'::text)
(2 行记录)

# 从输出的执行计划可以看出,此时并没有使用到表达式索引。
# 这是由于KingBase并不能强制使用特定的索引,或者完全阻止KingBase进行Seq Scan的顺序扫描。
# 但可以通过将参数enable_seqscan设置为 off的方式让KingBase尽可能避免执行某些扫描类型,
# 但这样的方式多用于开发和调试中。

(6)禁止金仓数据库使用顺序扫描。

scott=# set enable_seqscan = off;

(7)重新使用explain语句查看SQL查询时的执行计划。

scott=# explain select * from emp where lower(ename) like 'king';

# 输出的信息如下:
                              QUERY PLAN                              
----------------------------------------------------------------------
 Index Scan using index_exp on emp  (cost=0.14..8.16 rows=1 width=42)
   Index Cond: (lower((ename)::text) = 'king'::text)
   Filter: (lower((ename)::text) ~~ 'king'::text)
(3 行记录)

四、 使用视图简化查询语句

当SQL的查询语句比较复杂并且需要反复执行,如果每次都重新书写该SQL语句显然不是很方便。因此金仓数据库数据库提供了视图用于简化复杂的SQL语句。视图(View)是一种虚表,其本身并不包含数据。它将作为一个select语句保存在数据字典中的。视图依赖的表叫做基表。通过视图可以展现基表的部分数据;视图数据来自定义视图的查询中使用的基表。在金仓数据库中创建视图的基本语法格式如下:

CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] [ FORCE ] VIEW name [ ( column_name [, ...] ) ]
    [ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
    [ BEQUEATH { CURRENT_USER | DEFINER } ]
    AS query
    [ WITH { [ CASCADED | LOCAL ] CHECK OPTION } | READ ONLY ]

在了解的视图的作用后,下面通过具体的步骤来演示如何使用视图。
(1)基于员工表emp创建视图。

scott=# create or replace view view1
as
select * from emp where deptno=10;

# 视图也可以基于多表进行创建,例如:
scott=# create or replace view view2
as
select emp.ename,emp.sal,dept.dname
from emp,dept
where emp.deptno=dept.deptno;

(2)查看视图view2的结构。

scott=# \d view2

# 输出的信息如下:
                      视图 "public.view2"
 栏位  |            类型            | 校对规则 | 可空的 | 预设 
-------+----------------------------+----------+--------+------
 ename | character varying(10 char) |          |        | 
 sal   | integer                    |          |        | 
 dname | character varying(10 char) |          |        | 

(3)从视图中查询数据。

scott=# select * from view2;

# 输出的信息如下:
 ename  | sal  |   dname    
--------+------+------------
 MILLER | 1300 | ACCOUNTING
 CLARK  | 2450 | ACCOUNTING
 KING   | 5000 | ACCOUNTING
 SCOTT  | 3000 | RESEARCH
 JONES  | 2975 | RESEARCH
 SMITH  |  800 | RESEARCH
 ADAMS  | 1100 | RESEARCH
 FORD   | 3000 | RESEARCH
 WARD   | 1250 | SALES
 TURNER | 1500 | SALES
 ALLEN  | 1600 | SALES
 BLAKE  | 2850 | SALES
 MARTIN | 1250 | SALES
 JAMES  |  950 | SALES
(14 行记录)

(4)通过视图执行DML操作,例如:给10号部门员工涨100块钱工资。

scott=# update view1 set sal=sal+100;

# 并不是所有的视图都可以执行DML操作。在视图定义时含义以下内容,视图则不能执行DML操作:
# 1.  查询子句中包含distinct和组函数
# 2.  查询语句中包含group by子句和order by子句
# 3.  查询语句中包含union 、union all等集合运算符
# 4.  where子句中包含相关子查询
# 5.  from子句中包含多个表
# 6.  如果视图中有计算列,则不能执行update操作
# 7.  如果基表中有某个具有非空约束的列未出现在视图定义中,则不能做insert操作

(5)创建视图时使用WITH CHECK OPTION约束 。

scott=# create or replace view view3
as
select * from emp where sal<1000
with check option;

# WITH CHECK OPTION表示对视图所做的DML操作,不能违反视图的WHERE条件的限制。

(6)在view3上执行update操作。

scott=# update view3 set sal=2000;

# 此时将出现下面的错误信息:
# ERROR:  新行违反了视图"view3"的检查选项
# DETAIL:  失败, 行包含(7369, SMITH, CLERK, 7902, 1980/12/17, 2000, null, 20).