暂无图片
postgreSQL 存储过程需要反编译吗?
我来答
分享
暂无图片 匿名用户
postgreSQL 存储过程需要反编译吗?

postgreSQL 存储过程需要反编译吗?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
shunwahⓂ️

不需要反编译
PostgreSQL对存储过程:存储过程和用户自定义函数(UDF)是SQL和过程语句的集合,它存储于数据库服务器并能被SQL接口调用。

总结下来存储过程有如下特性:

存储于数据库服务器
一次编译后可多次调用
设计良好的数据库应用程序很可能会用到它
由SQL和过程语句来定义
应用程序通过SQL接口来调用

存储过程的优点:

(1)在第一次被调用后即被编译,下次再调用时不需要再次编译,减少了应用与数据库服务器的通信开销,提升数据库的整体性能

(2)实现一套业务逻辑被不同应用程序共享,减少应用程序的开发复杂度,保证不同应用程序使用的一致性;

(3)屏蔽使用存储过程中的数据,区分应用程序访问数据的权限,从而更细粒度的加强数据库权限的管理;

(4)实现业务与应用程序的解耦。当业务需求更新时,只需更改存储过程的定义,而不需要更改应用程序;

(5)保护数据库元数据,直接使用SQL语句查询数据库会暴露元数据,而使用存储过程则不需要把数据库表结构暴露给应用程序,提高安全性;

存储过程缺点:

(1)不方便调试,

(2)不便于移植到其它数据库。由于不同数据库的存储过程在定义方式,语言及语法上是不同的,所以移植成本的成本比较高;

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgresql有没有可视化函数生成工具?
回答 1
NavicatPremium 这个貌似挺好用的。
pg中如何vacuum某个分区?
回答 1
你的意思是这样子吗?
实现postgresql主从自动切换使用keepalived 和 repmgr 哪个更好
回答 1
已采纳
keepalived基本不需要业务层面做任何事情,就可以实现高可用,主备容灾。而且容灾的宕机时间也比较短。但因为VRRP、主备切换都没有什么复杂的逻辑,所以无法应对某些特殊场景,比如主备通信链路出问题
PCP和PGCE这两个证哪个含金量更高一些更值得考?
回答 2
这是两个认证体系,还是建议自行考虑
PG归档命令执行失败,权限不足,怎么解决?
回答 1
看下/home/Backup/pgsqlArchive目录的权限,如果你的pg是使用的默认用户,则需要将这个目录的属主改为postgreschownRpostgres:postgres /h
postgresql怎么获得一个uuid?
回答 1
uuidossp
用postgresql远程mysql怎么把数据保存到本地?
回答 3
了解一下mysqlfdw
inner join后面7个关联条件,导致的sql性能问题,有没有人指点一下优化思路?
回答 1
已采纳
两个思路。一个是拆分join然后在应用端join二个是看能否延迟关联,比如selectfromainnerjoinbona.idb.idleftjoinconb.idc.idwherea.id1and
postgresql 有没有专门的函数获取表的create语句?
回答 2
已采纳
没有自带的,你可以自己打上这个函数https://github.com/MichaelDBA/pggettabledef/blob/main/pggettabledef.sql然后就能这样用了sele
pg中行锁的实现方式是哪种?oracle是在数据块上,mysql是索引上
回答 1
pg中,这两个会话不会阻塞。在pg中,行锁信息保存在数据块中,通常只在tuple的头部中设置标识位来标识记录此行已被锁,标识位为xmax和infomask,xmax放置当前事务的xid,infomas