PostgreSQL 商用版本EPAS(阿里云ppas(Oracle 兼容版)) SQL防火墙使用(白名单管理、防SQL注入、防DDL等)
背景 数据库SQL防火墙是一个安全加强功能,通常被用于防止或减轻数据库被攻击后,泄露数据或者数据被破坏带来的损失。 包括: 1、防止SQL注入。 2、防止业务访问无需访问的对象。 3、防止业务执行DDL。 4、防止业务执行不带WHERE条件的DML。 5、防止业务执行不带WHERE条件或者WHERE条...
背景 数据库SQL防火墙是一个安全加强功能,通常被用于防止或减轻数据库被攻击后,泄露数据或者数据被破坏带来的损失。 包括: 1、防止SQL注入。 2、防止业务访问无需访问的对象。 3、防止业务执行DDL。 4、防止业务执行不带WHERE条件的DML。 5、防止业务执行不带WHERE条件或者WHERE条...
背景 原文: https://mp.weixin.qq.com/s/yDSnk4BzKKu1IuhMRgL7_w 作者: 桑栎 PipelineDB在物理存储的时候,使用了大量的聚合数据类型,在处理持续数据的时候,这些类型起到很重要的左右,我们来了解一下PipelineDB是如何使用这些数据类型的。 官方...
背景 在电商平台中,分销是非常普遍的现象,你在淘宝上买的东西,很可能并不是商家本身发货的,和你对接的商家,也许只是一个分销商。 因此一个物流信息,可能涉及到多个订单。 物流、订单表的到达时间可能不完全一致,所以在某一时刻,肯有订单,但是没有物流信息。或者有物流但是没有订单记录。 如果A表代表订单表,B表...
背景 PostgreSQL商用版本EnterpriseDB,对于spin锁等待的一个优化,在NUMA架构的硬件中,当跨SLOT等待SPIN LOCK时,可能遇到性能问题,由于SPIN时CPU时间片被抢占,如果长时间等待会导致CPU空转的资源浪费。 通过设置edb_max_spins_per_delay参数,可以...
背景 PostgreSQL商用版本EnterpriseDB,内置了自动参数计算与适配功能(或者称之为负载(OLTP, OLAP, MIX)自适应功能,以及使用多少硬件资源)。 根据两个参数(edb_dynatune, edb_dynatune_profile)的配置,数据库在启动时,自动设置其他与负载相关的参数...
背景 PostgreSQL商用版本EnterpriseDB,内置了索引推荐功能,原理与这里描述类似。 《PostgreSQL SQL自动优化案例 - 极简,自动推荐索引》 目前仅支持BTREE索引的(单列或多列)推荐,(有一些限制,暂时不支持继承表的推荐,暂时不支持表达式索引的推荐)。 索引推荐用法 1、创...
背景 随着硬件发展,单机的能力越来越强,单个数据库可能服务于多个业务,或者服务于混合场景。例如即有分析型也有在线事务型处理(HTAP)。 资源隔离管理成为非常重要的需求。 对于Linux的用户,使用cgroup可以用来隔离进程的网络、CPU、IO、内存等。PostgreSQL为进程模型,使用cgroup可以实...
背景 SQL自动优化是数据库的高级特性,其中包括SQL 自动rewrite,自动推荐索引,自动优化执行计划 等。 1、自动优化执行计划 目前postgrespro在做这块 https://postgrespro.com/roadmap/56513 Machine learning Query plann...
背景 SQL防火墙,或SQL过滤器,在一些特定的场合可能会比较有用。 例如限制某些用户执行可能会耗费很多资源的SQL,限制用户执行SELECT以外的SQL(尽管SELECT不能保证对数据不产生修改,例如SELECT FUNCTION)。 PostgreSQL 提供了一些HOOK可以用来开发此类功能插件。 p...
背景 如果你使用docker启动PG时,遇到类似这样的问题,可能你需要看看docker的/dev/shm是不是不够大。 "ERROR: could not resize shared memory segment "/PostgreSQL.388782411" to 50438144 bytes: No spa...