• [热门活动] 【福利贴】华为云PostgreSQL 12首发强势特性解析专场直播,点赞吐槽互动赢好礼
    【直播主题】:华为云PostgreSQL 12正式商用,Willie直播详解首发“酷炫”特性【直播看点】:Part 1:PostgreSQL 12炫酷特性详解            PostgreSQL简介和应用场景            PostgreSQL 12架构及关键特性剖析            PostgreSQL应用案例Part 2:PostgreSQL特惠活动攻略             云数据库组合推荐与购买攻略             互动抽奖与直播福利【直播时间】:5月19日 19:00-20:00【直播链接】:https://bbs.huaweicloud.com/signup/b9ebd73ade5142efb50f48c648fcdf53【直播福利】颈枕 8个、无线鼠标 3个、雷柏机械键盘 6个、HUAWEI FreeBuds悦享版无线耳机 1个更有直播专享PG1元尝鲜价 100个,五折优购(满3000元减1500元满减券 50个、满1000元减500元满减券 50个、满500元减200元满减券 50个)欢迎大家参与和转发~——————————————————————我是分割线——————————————————————————当当当当~~最后公布本帖福利在此贴盖楼,回复一句关于数据库的话可以是学习心得、自我感悟,对华为云数据库产品建议,学习诉求等,均可举例:华为云数据库xxx用着很棒我希望华为云数据库定期举办xxx活动第33、66、99、150、200楼的童鞋即可获得颈枕一个噢如有重复中奖,顺延至下一楼层的未中奖用户中奖公示:5月22日,在本帖二楼公示赶快行动起来吧~中奖人员公示:楼层获奖人员33楼啊酒哥哥66楼hw84820715请获奖用户在5日内添加小助手微信(cloud_xiaolu)领奖,否则视为放弃奖励不予补发。注:若收货地址为中国大陆地区,则邮费论坛承担;若收货地址为港澳台地区及海外地区,则邮费需要您自行承担。
  • [交流吐槽] 希望添加PostgreSQL镜像
    希望添加PostgreSQL的Linux repo仓库,官方上游仓库: https://ftp.postgresql.org/pub/或者: https://www.postgresql.org/ftp/或者: https://download.postgresql.org/pub/另: 发现rsync地址: rsync://rsync.postgresql.org/pgsql-ftp通过rsync方案同步镜像应该更方便一些
  • [技术干货] 浅析PostgreSQL并行查询代价估算
    并行查询特性最早是在PostgreSQL 9.6中引入。自那时起,社区一直在扩展该功能。在PostgreSQL 11和PostgreSQL 12中,社区开发人员向数据库引擎添加了更多的相关功能。本文就PostgreSQL查询优化器对并行执行代价估算的工作原理进行阐述,不足之处希望大家多多指正。串行顺序扫描执行代价估算       为了方便解释,用一个简单的例子来说明问题。首先通过代码片段1创建一个表包含两列。    1.  //代码片段1     2.  mydb=# CREATE TABLE people (id int PRIMARY KEY NOT NULL, age int NOT NULL);      3.  CREATE TABLE为了演示并行查询带来的益处,利用代码片段2往表people**一千万条数据,其中age字段是0-100之间的随机数。    1.  //代码片段2     2.  mydb=# INSERT INTO people        3.         SELECT id, (random()*100)::integer AS age        4.         FROM generate_series(1,10000000) AS id;       5.  INSERT 0 10000000默认情况下PostgreSQL是打开并行执行的。我们首先关闭并行执行开关,检查串行查询执行的耗时。通过将配置参数max_parallel_workers_per_gather设置为0可以关闭并行执行特性。从查询执行计划可以看到,顺序扫描的执行代价为144.248ms(Pg的执行计划显示的时间由两部分组成,‘..’前面的称之为start_up_cost,后面部分叫做run_cost)。总的查询执行代价为169.248ms。Pg如何计算得到这些数字的? 1.  //代码片段3  2.  mydb=# SET max_parallel_workers_per_gather TO 0;    3.  SET    4.  mydb=# explain analyze select count(*) from people;    5.                                 QUERY PLAN    6.  --------------------------------------------------------------------------------  7.   Aggregate  (cost=169248.60..169248.61 rows=1 width=8) (actual time=1375.237..1375.237 rows=1 loops=1)    8.      -> Seq Scan on people(cost=0.00..144248.48 rows=10000048 width=0)    9.   (4 rows)Pg查询执行时间total_cost = start_up_cost + run_cost,具体来说pg的运行时的代价由以下的式子计算得到:                total_cost = cpu_run_cost + disk_run_cost                                   = (cpu_tuple_cost + cpu_operator_cost) × Ntuple + seq_page_cost×Npage (1)        其中cpu_tuple_cost是CPU传输该记录的代价;cpu_operator_cost指函数运算或其他操作符的开销。有了上述计算规则以后,可以通过Pg的元数据表pg_class查询表people相关统计信息,见代码片段4。可以得到Npage=44248,Ntuple = 10000048.Pg源代码的cost.h头文件定义了公式(1)相关的计算代价,见代码片段5:    1.  //代码片段4     2.  mydb=# SELECT relpages, reltuples FROM pg_class WHERE relname = 'people';       3.   relpages |   reltuples       4.   ----------+---------------       5.     44248 | 1.0000048e+07       6.  (1 row)计算代价如下:    1.  //代码片段5     2.  /* defaults for costsize.c's Cost parameters */       3.  /* NB: cost-estimation code should use the variables, not these constants! */       4.  /* If you change these, update backend/utils/misc/postgresql.sample.conf */       5.  #define DEFAULT_SEQ_PAGE_COST  1.0       6.  #define DEFAULT_RANDOM_PAGE_COST  4.0       7.  #define DEFAULT_CPU_TUPLE_COST  0.01       8.  #define DEFAULT_CPU_INDEX_TUPLE_COST 0.005       9.  #define DEFAULT_CPU_OPERATOR_COST  0.0025       10. #define DEFAULT_PARALLEL_TUPLE_COST 0.1       11. #define DEFAULT_PARALLEL_SETUP_COST  1000.0将代码片段5的计算代价,放入公式(1),我们可以得到顺序扫描的代价:                              total_cost = (cpu_tuple_cost)×Ntuple + seq_page_cost×Npage                        = 0.01×1.0000048e+07 + 1×44248                                 = 144248.48这就是代码片段3第8行的顺序执行代价。而总的执行代价,需要对每条元组进行count函数操作,因此需要加上cpu_operator_cost,因此聚集函数count的查询执行start_up_cost为:                              Start_up_cost = cpu_run_cost + disk_run_cost                               = (cpu_tuple_cost + cpu_operator_cost)×Ntuple + seq_page_cost×Npage (1)                       = (0.01 + 0.0025) ×1.0000048e+07 + 1×44248                               = 169248.6 (代码片段3第7行所示)最后,系统只需要对这条元组传输即可,因此总的查询执行代价为:                            total_cost = (cpu_tuple_cost)×Ntuple + start_up_cost                                       =  0.01 + 169248.6                                       =  169248.61(代码片段3第7行所示)并行顺序扫描执行代价估算现在我们将并行执行的特性打开令max_parallel_workers_per_gather=2,相应的执行计划如下:1.  //代码片段6 2.  mydb=# set max_parallel_workers_per_gather = 2;   3.  SET   4.  mydb=# explain analyze select count(*) from people;   5.                           QUERY PLAN   6.  ------------------------------------------------------------------------------------------------------------ 7.   Finalize Aggregate  (cost=97331.80..97331.81 rows=1 width=8) (actual time=524.896..524.896 rows=1 loops=1)   8.     ->  Gather  (cost=97331.58..97331.79 rows=2 width=8) (actual time=524.828..526.162 rows=3 loops=1)   9.           Workers Planned: 2   10.          Workers Launched: 2   11.          -> Partial Aggregate  (cost=96331.58..96331.59 rows=1 width=8)   12.                -> Parallel Seq Scan on people  (cost=0.00..85914.87 rows=4166687 width=0)   13.  Planning Time: 0.307 ms   14.  Execution Time: 526.209 ms   15. (8 rows)为了解释并行查询执行代价,我们首先看看不同进程(为什么用进程是历史原因)之间工作量的分配。当并发进程只有两个的时候,主进程需要将大部分时间花费在执行工作,当并行进程的增加,主进程逐渐将工作转向聚合部分结果。Pg的进程工作量分配正是建立在这个基础之上。具体的分配算法见代码片段7第22行-27行。并行执行的框架如图1所示。1.  //代码片段7 2.  static double   3.  get_parallel_divisor(Path *path)   4.  {   5.      double      parallel_divisor = path->parallel_workers;   6.     7.       /*  8.        * Early experience with parallel query suggests that when there is only 9.        * one worker, the leader often makes a very substantial contribution to 10.       * executing the parallel portion of the plan, but as more workers are  11.       * added, it does less and less, because it's busy reading tuples from the  12.       * workers and doing whatever non-parallel post-processing is needed.  By  13.       * the time we reach 4 workers, the leader no longer makes a meaningful  14.       * contribution.  Thus, for now, estimate that the leader spends 30% of  15.       * its time servicing each worker, and the remainder executing the  16.       * parallel plan.  17.       */   18.     if (parallel_leader_participation)   19.     {   20.         double      leader_contribution;   21.    22.         leader_contribution = 1.0 - (0.3 * path->parallel_workers);   23.         if (leader_contribution > 0)   24.             parallel_divisor += leader_contribution;   25.     }   26.    27.   return parallel_divisor;  28.  }                                                                                    图1.并行执行框架因此当并行执行的worker为2的时候,每个工作进程所分配得到的工作量为:10000048.0 / (2 + (1 – 0.3 * 2)) = 4166686.66 rows.这就是代码片段6第13行得到每个worker处理的元组(rows)数目。这里需要注意的是虽然是并行扫描但是IO代价仍然是按照全表扫描的代价计算。这主要是因为每个并发进程在同一份数据上按照block-by-block的方式顺序推进全局next指针,这等价于全表扫描。总结PostgreSQL的口号是开源数据库中最强大的关系型数据库系统。其实业界也一直将其称为开源数据库的oracle。此言不虚,因为很多企业客户在去“O”问题上选择用PostgreSQL替代Oracle。PostgreSQL不仅在语法上高度兼容Oracle而且在性能上也向Oracle靠拢,例如并行查询特性就是PostgreSQL引以为豪的特性之一。PostgreSQL实现了并行scan,merge-join,hash-join,以及partition-join等。这篇文章对PostgreSQL的并行查询进行了初步的分析,探讨了并行工作进程之间的工作量分配,查询执行代价的计算,以及并行查询的总体框架。后续我们计划对PostgreSQL的并行join算法进行深入探讨以更好地了解PostgreSQL的并行查询功能。
  • [迁移工具] Porting Advisor 移植 PostgreSQL,移植报告问题
    环境介绍:平台:X86 计算,通用计算增强型, c6.large.22vCPUs | 4GB, CentOS 7.6 64bit) 迁移工具:Porting-advisor-x86_64-linux-1.1.3.tar.gzhttps://www.postgresql.org/ftp/source/v11.3/ ,下载的PostgreSQL 11.3 版本源代码包 postgresql-11.3.tar.gz1、代码移植工具填写信息:2、经过迁移工具分析后,显示内容如下:3、但试验手册上的试验中显示:需要移植的依赖库 SO 文件、源文件、代码行数均为 0,说明postgresql-11.3 源码不需要修改,可以直接进行源码编译安装。 有点疑惑,不知是工具的问题还是实验手册的问题?实验手册图如下:
  • KUNPENG平台Postgres10.4.0+postgis2.4.4移植自动安装脚
    1 POSTGIS简介PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。2 环境信息2.1 环境信息类别子项版本获取地址OSCentOS7.5 Aarch64https://www.centos.org/download/服务器配置16U16GB50GB软件postgresql10.4https://ftp.postgresql.org/pub/source/v10.4/postgresql-10.4.tar.gz软件postgis2.5.0http://download.osgeo.org/postgis/source/postgis-2.5.0.tar.gz依赖geos3.7.0https://download.osgeo.org/geos/geos-3.7.0.tar.bz2依赖proj5.2.0http://download.osgeo.org/proj/proj-5.2.0.tar.gz依赖gdal2.2.1https://codeload.github.com/OSGeo/gdal/tar.gz/v2.2.1依赖json-c0.13.1https://github.com/json-c/json-c/archive/json-c-0.13.1-20180305.tar.gz依赖libxml22.9.8https://github.com/GNOME/libxml2/archive/v2.9.8.tar.gz 3 软件移植3.1 环境准备:OS安装类型:CentOS-7.5-aarch64-1804。 注:操作系统安装使用最小简化版安装(如上图),其余步骤安装一般安装操作系统步骤即可。3.1.1 相关软件下载上传:1、 上传CentOS 7.5系统ISO镜像文件至服务器2、 上传环境列表中的软件和依赖文件至服务器3.2 软件安装脚本执行指导下载附件脚本至服务器。赋予脚本执行权:限chmod +x postgres+postgis_install.sh执行Postgres+postgis安装脚本:sh postgres+postgis_install.sh4 软件运行4.1 验证执行脚本成功运行结束时会回显如下信息: 按照回显信息提示进行操作,出现如下信息则安装成功: 
  • KUNPENG平台PostgreSQL10移植自动安装脚本
    1 POSTGRESQL简介PostgreSQL是以加州大学伯克利分校计算机系开发的关系型数据库管理系统(ORDBMS)。2 环境信息2.1 环境信息类别子项版本获取地址OSCentOS7.5 Aarch64https://www.centos.org/download/服务器配置16U16GB50GB软件POSTGRESQL10Yum安装 3 软件移植3.1 环境准备:OS安装类型:CentOS-7.5-aarch64-1804。 注:操作系统安装使用最小简化版安装(如上图),其余步骤安装一般安装操作系统步骤即可。3.1.1 相关软件下载上传:1、 上传CentOS 7.5系统ISO镜像文件至服务器3.2 软件安装脚本执行指导下载附件脚本至服务器。赋予脚本执行权:限chmod +x postgresql_install.sh执行PostgreSQL安装脚本:sh postgresql_install.sh 4 软件运行4.1 验证执行安装完毕后,系统会创建一个数据库超级用户 postgres,密码为空。#  sudo -i -u postgres这时使用psql命令进入 postgres,输出以下信息,说明安装成功: 
  • [中间件] 【华为云鲲鹏云服务最佳实践】【数据库篇】第003期 Postgresql 9.2.24 安装配置指南
    1、简介      PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。      官方链接:https://www.postgresql.org/      类别:数据库2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包Postgresql9.2.24 3、依赖安装无4、组件编译安装无5、系统配置CentOS 7.5已经安装了Postgresql 9.2.24版本,说明该软件可以在该环境上正确安装。6、测试测试内容:初始化并启动数据库cd /usr/libexec/initscripts/legacy-actions/postgresqlpostgresql-setup initdbsystemctl status postgresql测试结果:测试内容:修改数据库密码(PostgreSQL在数据库用户同名的系统账号下登录免密)测试结果:测试内容:创建用户、数据库并未数据库赋权测试结果:测试内容:登录数据库测试结果:测试内容:数据库操作(创建表、**数据、查询)测试结果:7、参考信息官方文档:https://www.postgresql.org/docs/8、FAQ 无
  • [交流分享] 【鲲鹏翱翔】数据库01-PostgreSQL移植安装指南
    1、简介PostgreSQL是一个功能强大的开源企业级数据库系统,可以运行在所有主流操作系统上,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS X、Solaris和Tru64)和Windows。PostgreSQL是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程),同时对SQL标准高度兼容,它实现的功能完全遵守于ANSI-SQL:2008标准。PostgreSQL具有多版本并发控制(MVCC)、按时间点恢复(PITR)、表空间、异步复制、嵌套事务、在线热备、复杂查询的规划和优化以及为容错而进行的预写日志等高级功能;支持国际字符集、多字节编码并支持使用当地语言进行排序、大小写处理和格式化等操作;也在所能管理的大数据量和所允许的大用户量并发访问时具有完全的高伸缩性。官方归档目录链接:https://www.postgresql.org/ftp/source/类别:数据库检验版本:PostgreSQL 9.5.5/9.1.102、环境类别子项版本获取地址(方法) 硬件CPUHi1616--网络Ethernet-10GE--存储NVMe SATA   40G --内存7G 2.4GHz--OSCentOS7.5Kernel4.14 软件GCC4.8.5readline6.2zlib1.2.73、组件安装PostgreSQL数据库安装需要的组件均可以直接yum安装。yum -y   install readline-devel zlib-devel gcc gcc-c++ zlib readline4、PostgreSQL安装设置安装路径,获取postgresql-9.5.5安装包cd   /optwget https://ftp.postgresql.org/pub/source/v9.5.5/postgresql-9.5.5.tar.gz解压压缩文件tar -zxvf   postgresql-9.5.5.tar.gz进入解压目录文件夹,配置编译安装环境cd   /opt/ postgresql-9.5.5./configure   --build=arm-linux --host=arm-linux --prefix=/usr/local/pgsql     注:--build指明编译环境,--host指明运行环境,--prefix指明安装路径.  环境配置完成后,开始编译安装makemake   install  创建用户,默认root用户不能启动postgresqladduser   postgres   将安装目录下的数据授权给postgres用户chown  -R postgres:postgres /usr/local/pgsql   设置用户环境变量su   postgresvi ~/.bash_profile   添加以下内容export   PGHOME=/usr/local/pgsqlexport   PGDATA=/usr/local/pgsql/dataexport   PATH=$PATH:$PGHOME/bin   使配置生效source   ~/.bash_profile   检验环境变量是否设置正确psql -V     如能正确显示数据库的版本信息,则配置正确5、初始化数据库       设置环境变量完成后,直接执行initdb即可完成初始化   Initdb初始化时需要指定数据目录,如未指定,会自动在环境变量中寻找PGDATA,此示例中上述步骤已设置PGDATA。initdb     看到如下信息后即代表初始化成功。 6、启动和连接设置日志文件路径mkdir   /usr/local/pgsql/log启动数据库pg_ctl   -D /usr/local/pgsql/data -l /usr/local/pgsql/log/pg_server.log start执行完成后会显示服务器启动。查看进程ps -ef   |grep postgres完成后,命令行输入psql即可进入数据库。7、参考信息配置安装指导:https://blog.csdn.net/wlwlwlwl015/article/details/532563588、FAQ1. 在make阶段出现spinlocks错误,怎么解决?A:首先执行make clean,清除已生成的编译文件。重新配置configure文件,在host后加上 –-disable-spinlocks,重新编译安装即可2.在initdb的时候,可能会报以下错误 解决方法:删除/var/lib/pgsql/data目录,再initdb
  • [行业资讯] 华为云数据库 PostgreSQL 11 全新上线
    日前,华为云数据库 PostgreSQL 11 全新上线,不但完整兼容社区版、功能更加完善,而且性能进一步提升,尤其是对大数据量和高计算负载的情况下均进行了增强。PostgreSQL 11 主要特性:1.对分区表进行了大幅改进和增强。增加了哈希分区、支持创建主键、外键、索引、支持UPDATE分区键以及增加了默认分区2.增加了对存储过程的支持,存储过程支持嵌入事务。 这是该版本重量级新特性,对从Oracle转到PostgreSQL用户而言相当友好。3.增强了并行查询能力和并行数据定义能力。支持并行创建索引、并行Hash Join、并行 CREATE TABLE .. AS等4.增加了对 just-in-time (JIT) 编译的支持,加速SQL中的表达式执行效率。 JIT 表达式的编译使用LLVM项目编译器来提升在WHERE条件、指定列表、聚合以及一些内部操作表达式的编译执行。 作为一种典型的开源关系型数据库,PostgreSQL在保证数据可靠性和完整性方面表现出色,支持互联网电商、地理位置应用系统、金融保险系统、复杂数据对象处理等应用场景,既有商业数据库的功能特性,又能在扩展性、安全性、稳定性等高级数据库特性方面超越它们,号称最先进的开源关系型数据库。 PostgreSQL 引擎特点: 多样化数据类型不仅支持常见的字符、数字类型,还包括数组、空间数据类型,网络数据类型等,另外支持自定义数据类型。编程接口和语言ODBC / JDBC / Libpq  PL / Perl、plPHP、PL/Python、PL/Ruby、PL/Tcl 等。高安全性字段加密,基于 DB / Schema / 表/列的权限控制。NoSQL 兼容基于 SQL 支持 JSON、XML 等非结构化数据类型。强大的并发控制4种标准的事务隔离等级、B-tree/GiST/GIN/SP-GiST 索引、表级锁/行级锁/建议锁。 云数据库PostgreSQL 在继承社区版功能特性的基础上,采用安全组和VPC 技术严格控制访问,具备安全事后审计功能;且完全同步协议,主备秒级切换保证事务一致性,提供更低的 RTO 保证。 云数据库无需购买和安装任何软硬件,减少 DBA 投入和成本,进一步为用户节省成本,在线一键按需购买,扩容 CPU/ 内存 /存储资源,实时监控告警,运维更高效。 目前,华为云数据库PostgreSQL支持9.5/9.6/10.0.3版本,上线了最大程度兼容oracle 的内核增强版,并将上线9.4版本,不但版本齐全,而且所有版本均提供单机版和高可用版(双机版),规格从1U2G到60U256G选择更多,支持弹性扩容缩容,可满足不同用户业务需求选择,拥有超高性价比。 此外,华为云数据库PostgreSQL支持同版本在线迁移和离线迁移,支持9.5到9.6跨版本迁移,支持跨云灾备场景。而且华为云PostgreSQL已兼容30+款多功能插件,不仅支持丰富的数据类型,而且直接支持 SQL操作 JSON 及 XML,实现工具化智能管理。 值得一提的是,华为云PostgreSQL 增强版,提供最接近 Oracle 数据库的用户体验,同时完整保留 PostgreSQL 的所有功能,兼容大部分 Oracle 语法和数据库对象,包括内建函数、数据类型、系统视图、匿名块和存储过程等,成为金融行业去 O 用户的最佳选择。           想了解更多内容,请扫码关注【HW云数据库】
  • [技术干货] PostgreSQL里以root用户建表失败
    用root用户登录postgres数据库,建表失败,报错: [Err] ERROR: permission denied for schema public LINE 1: create table xxxx  这是因为安全原因,不允许客户在public模式下创建表。 客户于是又尝试创建schema:create schema xxxx; 结果报错: [SQL] create schema xxxx;[Err] ERROR: permission denied for database postgres 这是因为安全原因,不允许客户在postgres库下创建schema。 正确做法是:用root用户创建一个数据库,然后在此数据库里创建一个schema,最后在这个schema下创建表。
  • [技术干货] 【DBA系列】005 PostgreSQL数据库建表遭遇报错怎么破?
    更多精彩内容,请扫码关注【HW云数据库】
  • [行业资讯] 华为云首推 PostgreSQL 增强版,助力金融业用好数据库
    日前,华为云数据库推出 PostgreSQL 增强版,提供最接近 Oracle 数据库的用户体验,同时完整保留 PostgreSQL 的所有功能,兼容大部分 Oracle 语法和数据库对象,包括内建函数、数据类型、系统视图、匿名块和存储过程等,成为金融行业去 O 用户的最佳选择。 众所周知,PostgreSQL 以功能强大而闻名。不但包括了几乎是目前世界上最丰富的数据类型支持,而且在保证数据可靠性和完整性方面表现出色,与 Oracle 等商用数据库拥有相似结构,是金融行业的理想选型。 在金融领域,由于业务场景多、交易量大、数据安全性要求高,因此对数据库选择也相当严苛。以保险业务为例:由于业务逻辑极其复杂,即使是 OLTP 系统,也涉及对大量数据的访问和计算。因此很多业务逻辑都在数据库内部实现,而这对 PostgreSQL 来说游刃有余。 不同于 Thin Database 的轻数据库重应用,数据库只做为数据的存储,提供简单的查询访问,而复杂的业务逻辑前移到应用服务器端来完成。PostgreSQL 与 Oracle 均属于 Thick Database,无论业务逻辑简单还是复杂,OLTP 还是 OLAP 负载,都可以支持,也都有很成熟的产品。也因此,PostgreSQL 被称为开源领域的 Oracle。 PostgreSQL 可以用多种语言编写,对于复杂业务逻辑计算、以及大数据量访问,可以在数据库后端实现,大大减少网络交互成本,从而整体提升应用性能。此外查询优化器非常强大,支持全部表关联方法,对于复杂的 SQL 语句优化起来也不是问题,而这正是保险行业进行业务逻辑处理需要的特性。 华为云 PostgreSQL 不但兼具社区版功能特性,使用多版本并发控制(MVCC),保证数据一致性,而且主备实例数据同步复制,实现数据双保险,确保数据不丢失。此外配合OBS 实现存储空间扩展,将冷数据转存到 OBS 中,节省历史数据存储成本。                                                                                              华为云数据库金融行业方案架构图 华为云 PostgreSQL 在金融领域的优势:1.多版本并发用户在事务内所作的每个修改,对于其他的用户都不可见,同时保证了数据库高效地符合ACID 原则。2.毫秒级延迟主备操作同步,延时时间达到毫秒级,提供数据一致性保障。 此番华为云数据库 PostgreSQL 推出的增强版,能最大程度兼容 Oracle 语法。兼容范围涵盖 SYS 系统视图、PL/SQL、数据类型、高级函数、SQL语法、Null 值处理等。在安全性、功能性、易用性、可靠性,以及性能方面,都得到增强和提升。 当前,华为云 PostgreSQL 增强版支持权限控制,DBA、运营和开发人员的权限分离,最小化权限,将对数据库的可能危害降到最低,且便于后续数据审计和追踪。并通过内核改造,采用华为云高性能的 I3 本地盘独享物理盘,IOPS、吞吐量等性能指标均大幅提升。 了解华为云 PostgreSQL 更多信息,请访问官网:https://www.huaweicloud.com/product/pg.html 福利时间:华为云数据库畅销引擎新用户免费试用,支持企业和个人套餐!新用户点击下方链接登录/注册华为云账号实名认证(企业/个人)选择引擎立即领取免费试用地址:https://activity.huaweicloud.com/free_test/index.html#sql
  • 【看点】7 月全球数据库排名:MongoDB 紧追 PostgreSQL!
    来源:开源中国 作者:OSC-王练 DB-Engines 发布了 2018 年 7 月份的数据库排名,排名前三的依然是 Oracle、MySQL 和 Microsoft SQL Server 。 前 20 名的数据库中,对比上个月,第 13 位和第 14 位的 Splunk 和 MariaDB 互换了位置,第 15 和第 16 位的 SAP Adaptive Server 和 Solr 位置进行了对调。 MongoDB 是此榜单中涨幅最大的一个,上涨 6.54 个百分点。若保持趋势,则有望挑战 PostgreSQL 的位置。 PostgreSQL 本月出现回落,下跌 4.86 的百分点。 18716 完整排名请查看:https://db-engines.com/en/ranking 前三强走势: 18717 PostgreSQL 和 MongoDB 走势: 18718 DB-Engines 排名的数据依据 5 个不同的因素: [*]Google 以及 Bing 搜索引擎的关键字搜索数量 [*]Google Trends 的搜索数量 [*]Indeed 网站中的职位搜索量 [*]LinkedIn 中提到关键字的个人资料数 [*]Stackoverflow 上相关的问题和关注者数量 这份榜单分析旨在为数据库相关从业人员提供一个技术方向的参考,其中涉及到的排名情况并非基于产品的技术先进程度或市场占有率等因素。无论排名先后,选择适合与企业业务需求相比配的技术,才是最重要的。
  • 【1元试用PostgreSQL】高性能华为云数据库PostgreSQL 1元体验活动火热进行中
    本帖最后由 小路~ 于 2018-5-14 15:06 编辑PostgreSQL是一种典型的开源关系型数据库,在保证数据可靠性和完整性方面表现出色,支持地理位置应用系统、复杂数据对象处理、金融保险系统、互联网电商高并发等应用场景。华为云数据库PostgreSQL 提供上云服务,可以大幅降低投入总成本,同时让运维变得更加简单,不仅省事省时更省心。 华为云数据库PG的优势华为云数据库PG,不仅完美的解决了传统自建数据库高投入、周期长、运维难、不灵活的痼疾,同时提供更强大的新功能。它支持【即开即用】、【稳定可靠】、【便捷管理】、【弹性伸缩】、【高性能】,操作简单,灵活高效,管理便捷,经济实惠,可节省总成本的50%以上。 即日起,1元就可以畅享4核8G的PostgreSQL服务1个月,快来开启专属你的PG上云之旅吧~15261
总条数:76 到第
上滑加载中