【重新发现PostgreSQL之美】- 51 删表跑路

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 大家好,这里是重新发现PostgreSQL之美 - 51 删表跑路

背景


场景:

  • drop table, drop database等危险操作无力回天.

挑战:

  • 误删除或被黑客攻击后发生了drop table, drop database操作, 在没有备份的情况下无力回天. 在有备份的情况下, 恢复慢, 影响业务.

PG 解决方案:

  • event trigger 增加回收站, 支持drop table快速恢复
  • drop database 通过权限控制, 或者使用HOOK增加database 回收站功能. 例如 ProcessUtility_hook
  • truncate table 使用trigger可以实现回收站功能.

《PostgreSQL Oracle 兼容性之 - 事件触发器实现类似Oracle的回收站功能》

《PostgreSQL 回收站功能 - 基于HOOK的recycle bin pgtrashcan》



相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
4月前
|
存储 关系型数据库 数据库
PostgreSQL怎样做?
PostgreSQL怎样做?
21 2
|
关系型数据库 PostgreSQL 索引
PostgreSQL技术大讲堂 - 第30讲:多表连接方式
从零开始学PostgreSQL技术大讲堂 - 第30讲:多表连接方式
331 2
|
SQL 关系型数据库 MySQL
kingbaseES(人大金仓)数据库语法和常用函数 以及 踩坑记录
最近公司弄了个新项目,数据库指定使用kingbase数据库
|
SQL 关系型数据库 MySQL
15天学习MySQL计划-多表联查(基础篇)第四天
15天学习MySQL计划-多表联查(基础篇)第四天
102 0
|
SQL 运维 关系型数据库
PolarDB-X源码解读:DDL的一生(下)
在《DDL的一生(上)》中,我们以添加全局二级索引为例,从DDL开发者的视角介绍了如何在DDL引擎框架下实现一个逻辑DDL。在本篇,作者将从DDL引擎的视角出发,向读者介绍DDL引擎的架构、实现,以及DDL引擎与DDL Job的交互逻辑。
PolarDB-X源码解读:DDL的一生(下)
|
SQL 缓存 Java
PolarDB-X源码解读系列:DDL的一生(上)
本文主要解读了 PolarDB-X 中 CN 端的DDL Job定义相关的代码,以添加全局二级索引为例,对DDL Job定义和执行的整体流程进行了梳理,并着重阐述了DDL job定义中涉及online和crash safe特性的关键逻辑。
|
SQL 缓存 Java
PolarDB-X 源码解读:DDL的一生(上)
一条SQL语句进入PolarDB-X的CN后,将经历协议层、优化器、执行器的完整处理流程。首先经过解析、鉴权、校验,被解析为关系代数树后,在优化器中经历RBO和CBO生成执行计划,最终在DN上执行完成。与DML不同的是,逻辑DDL语句还涉及对元数据的读写和物理DDL,直接影响系统状态一致性。
PolarDB-X 源码解读:DDL的一生(上)
|
SQL 存储 安全
MySQL之DDL语言知多少
学习MySQL时间也不短了,一直习惯于增删改查。近期,系统学习了一下DDL,简单总结一下DDL中的增删改查……
109 0
MySQL之DDL语言知多少
|
SQL 缓存 多模数据库
OceanBase源码解读(二):SQL的一生
本文为 OceanBase 数据库源码解读系列文章的第二篇,将主要为大家介绍 OceanBase 数据库中一条 SQL 的执行流程主路径,包括接收、处理、返回结果给客户端的过程,与开发者们一起探讨OceanBase的SQL引擎模块。
OceanBase源码解读(二):SQL的一生
|
SQL 存储 关系型数据库