【DB吐槽大会】第53期 - PG 函数和存储过程没有版本管理

简介: 大家好,这里是DB吐槽大会,第53期 - PG 函数和存储过程没有版本管理

背景


1、产品的问题点

  • PG 函数和存储过程没有版本管理

2、问题点背后涉及的技术原理

  • create or replace function|procedure会直接覆盖原来的函数或存储过程.

3、这个问题将影响哪些行业以及业务场景

  • 通用

4、会导致什么问题?

  • 在执行create or replace function|procedure 后如果想回退, 必须有以前的函数或存储过程定义, 否则就只能从逻辑备份中或者PITR模式恢复了.

5、业务上应该如何避免这个坑

  • 先备份原有的存储过程或函数定义, 再覆盖.

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题

  • 管理复杂度增加, 而且依赖人, 还是容易出问题.

7、数据库未来产品迭代如何修复这个坑

  • function和procedure的逻辑无异于业务的代码逻辑, 所以希望内核增加function和procedure的版本管理能力, 可以查询到历史版本内容, 方便回退版本.
相关文章
|
7月前
|
存储 SQL NoSQL
mysql存储过程和存储函数
mysql存储过程和存储函数
|
6月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
6月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
7月前
|
存储 SQL 关系型数据库
MySQL技能完整学习列表7、存储过程和函数——1、存储过程(Stored Procedures)的创建和执行——2、函数(Functions)的创建和使用
MySQL技能完整学习列表7、存储过程和函数——1、存储过程(Stored Procedures)的创建和执行——2、函数(Functions)的创建和使用
83 0
|
5月前
|
存储 SQL 数据库
MySQL设计规约问题之为什么要避免使用存储过程、触发器和函数
MySQL设计规约问题之为什么要避免使用存储过程、触发器和函数
|
6月前
|
存储 SQL 关系型数据库
MySQL存储过程和存储函数的使用
MySQL的存储过程和存储函数在功能和用法上有明显的区别。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,通过指定名称和参数(如果有)来调用执行,可以返回多个值或结果集,但不直接返回值。而存储函数则是一个有返回值的特殊存储过程,它返回一个值或表对象,可以直接嵌入SQL语句中使用,如SELECT语句中。两者都是为了提高SQL代码的重用性和性能,但使用场景和方式有所不同。
4321 4
|
6月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(3)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
6月前
|
存储 关系型数据库 MySQL
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(4)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
7月前
|
存储 SQL 关系型数据库
Msql第四天,存储过程和函数
Msql第四天,存储过程和函数
73 0
Msql第四天,存储过程和函数
|
7月前
|
存储 数据库
【数据库】分支与循环&函数&存储过程
【数据库】分支与循环&函数&存储过程
84 1