首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Foucus
掘友等级
dba
PostgreSQL技术爱好者
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
142
文章 142
沸点 0
赞
142
返回
|
搜索文章
最新
热门
PostgreSQL视图攻击
我们常常使用视图来限制用户只能访问部分数据,来保证数据安全。但是在pg中某些情况下即使使用了视图仍然难以保证数据的安全。使用普通用户查看表和视图: 可以看到都没有权限。You are now connected to database "postgres" as user "us...
PostgreSQL大小写不敏感排序
pg12开始支持不区分大小写,或者区分大小写的排序的collate。其中几个关键参数: PROVIDER:指定用于与此排序规则相关的区域服务的提供程序。可能的值是: icu、libc。 默认 是libc。但若要设置大小写不敏感,目前只支持icu。 DETERMINISTIC:设置...
PostgreSQL窗口查询优化
我们在实际应用中,常常会碰到这样的场景:分组取top值,比如取某一部门收入前10的人。 一般我们都会用到窗口函数去解决这类问题,同样在pg中也支持窗口函数。例子: 创建测试表,生成10000个分组,1000万条记录。bill=# select * from (select row...
PostgreSQL中in、exists、= any性能对比
select * from tbl where exists (select 1 from t where t.id=tbl.但是不同的写法,性能还是有一定的差距。可能对in、exists这两种写法比较熟悉的人都知道这么一个结论:IN适合于外表大而内表小的情况;EXISTS适合于...
PostgreSQL被除数为0处理方法
0不能作为被除数这是数学中的常识,当在数据库中除以0时,应该如何处理呢? 在oracle和pg中是不允许被除数为0的。LOCATION: int4div, int.1 row in set, 1 warning (0.
PostgreSQL多表插入(兼容oracle insert all)
我们想把一个查询语句返回的结果集插入到多个目标表中。例如,希望把A表的数据分别插入到 B 表、C 表和 D 表。这3个表与 A 表的结构相同(相同的列和数据类型),并且当前不含任何数据。解决办法就是把查询结果插入到多个目标表中。insert first:对于每一行数据,只插入到第...
PostgreSQL 管道函数(Pipelined Table Function)——兼容oracle
在oracle中管道函数是用来返回行集合的,我们可以像查询物理表一样查询它或者将它的值赋给其它集合变量。管道函数为并行执行,在普通的函数中使用dbms_output输出的信息,需要在服务器执行完整个函数后一次性的返回给客户端。如果需要在客户端实时的输出函数执行过程中的一些信息,在...
select也要小心——PostgreSQL security invoker函数带来的安全隐患
pg中创建函数时可以指定权限检测,有两个可选参数:SECURITY INVOKER和SECURITY DEFINER。SECURITY INVOKER:表示要用调用该函数的用户的特权来执行它。这是默认值。 SECURITY DEFINER:指定要用拥有该函数的用户的特权来执行该函...
一文彻底读懂PostgreSQL事务隔离级别
SQL标准定义了四种隔离级别。隔离级别从低到高分别是:Read uncommitted 、Read committed 、Repeatable read 、Serializable。脏读:一个事务读取了另一个并行未提交事务写入的数据。不可重复读:一个事务重新读取之前读取过的数据,...
PostgreSQL HAVING和WHERE子句区别详解
我们在写SQL时常常会使用where和having子句来进行数据的过滤。但是这两者具体区别在哪呢? PostgreSQL中和其它关系型数据库一样也支持聚合函数,一个聚合函数是指从多个输入行中计算出一个结果。 而对于where和having子句最大的区别在于:Where中不能使用聚...
下一页
个人成就
文章被点赞
148
文章被阅读
62,793
掘力值
2,018
关注了
0
关注者
7
收藏集
0
关注标签
2
加入于
2022-03-22