postgresql数据库常用知识总结

关于权限

我们创建一个视图或者表之后,通常需要把该表给与某个角色拥有权,其它角色拥有查询权。
比如
ALTER TABLE test_tab
  OWNER TO postgres;
GRANT ALL ON TABLE test_tab TO postgres;
GRANT ALL ON TABLE test_tab TO test_role;

这样test_role 针对test_tab拥有查询以及修改权限,但是test_role 只拥有查询权限。
我们有时针对第三方对接,可能会使用到需要提供给第三方视图,我们通过新建一个角色,并且
只赋予某个视图查询权限就可以完成了。

如果没有权限,而去修改的话,就会提示一个错误,那就是 must be owner of relation test_tab

但是经过测试,postgres好像是拥有最高权限,也即拥有管理员权限,不论其它表的拥有者是不是postgres,它都可以访问和修改,这就是管理员
最高权限的象征吧。



sql怎么批量替换字段里的字符串的?



方法一:varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 。

1
update  表名  set  字段名= replace ( cast (与前面一样的字段名  as  varchar (8000)) , '原本内容' , '想要替换成什么' )

方法二:

1
update  [表名]  set  字段名 =  replace (与前面一样的字段名, '原本内容' , '想要替换成什么' )

查询重复数据

select count(*),id from 表名 group by id having count(*)>1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值