vertica-cascade危险操作
来源:互联网 发布:网络测速器手机版 编辑:程序博客网 时间:2024/05/12 17:34
实验证明:
drop table tmp.zhuga;
create schema zhuga;
create sequence zhuga.test_seq;
create table tmp.zhuga(name varchar(10),id int default nextval('zhuga.test_seq'));
insert into tmp.zhuga values('fafa','1');
创建一个seq,然后改变上面不同schema下的sequence,让其在同一个schema下
create sequence tmp.test2_seq;
ALTER TABLE tmp.zhuga ALTER COLUMN id SET DEFAULT nextval('tmp.test2_seq');
删除原来错误的,zhuga schema
drop schema zhuga ;
我们强制删除
drop schema zhuga cascade;
查看tmp.zhuga,奇怪的事情发生了,和zhuga schema不相关的表居然因为依赖被删除
select * from tmp.zhuga ;
select nextval('zhuga.test_seq') ;
zhuga schema下的sequence也被删除
select nextval('tmp.test2_seq');
只有tmp下的schema没有被删除
再看
create schema zhuga1;
create table zhuga1.zhuga(name varchar(10));
insert into zhuga1.zhuga values('fafa');
select * from zhuga1.zhuga;
alter table zhuga1.zhuga set schema tmp;
select * from tmp.zhuga ;
drop schema zhuga1 cascade;
select * from tmp.zhuga ;
总结:cascade删除schema的时候,尤其涉及到sequence。内部机制是前面的数据在vertica内核中记录了zhuga.test_seq的数据信息,在我们改表的默认sequence(tmp.test2_seq)时候,里面的数据记录的还是以前的zhuga.test_seq并没有更改,然后cascade会将所有记录以前zhuga信息的数据删除,甚至包括表结构,下面实验可以看看,就连新产生的数据记录的新tmp.test2_seq都会被删除(是数据加表结构全部被删)
create schema zhuga;
create sequence zhuga.test_seq;
create table tmp.zhuga(name varchar(10),id int default nextval('zhuga.test_seq'));
insert into tmp.zhuga values('fafa','1');
select * from tmp.zhuga ;
这时数据记录的是zhuga.test_seq的sequence信息
create sequence tmp.test2_seq;
ALTER TABLE tmp.zhuga ALTER COLUMN id SET DEFAULT nextval('tmp.test2_seq');
insert into tmp.zhuga(name) values('fafa');
select * from tmp.zhuga ;
这时数据记录了zhuga.test_seq和tmp.test2_seq的信息
drop schema zhuga cascade;
select * from tmp.zhuga ;
全部被删,就连表结构都不剩
0 0
- vertica-cascade危险操作
- Vertica常用操作总结
- Vertica数据库操作
- Vertica数据库sql操作备忘
- Vertica数据库sql操作备忘
- vertica
- vertica-修改表结构(涉及vertica底层的操作)
- Hibernate级联操作Cascade
- Hibernate 级联操作 cascade
- Cascade 级联操作
- cascade operation (级联操作)
- Hibernate cascade 级联操作
- Hibernate级联操作cascade
- Vertica的这些事<十三>—— Vertica停止数据库的操作步骤
- 【Hibernate】级联操作 cascade 选项
- hibernate的级联操作cascade
- hibernate 的级联操作 cascade操作
- cascade
- JSF2自定义组件
- Wondershaper流量监控工具
- socket长连接客户端管理
- Linux命令行与图形界面切换方法(ILO)
- 欢迎使用CSDN-markdown编辑器
- vertica-cascade危险操作
- 关于界面
- python 面试题 - 知识点整理
- openframeworks学习之路1-环境搭建及人脸识别
- Mac系统下执行hadoop jar 运行在某包内的程序 提示java.lang.ClassNotFoundException的解决方法
- classpath环境变量需要设置吗?
- Oracle VM VirtualBox 下 ubuntu 虚拟机 如何 挂载共享
- diy数据库(八)--客户端和服务器之间的通信协议
- Java函数传递参数:值传递还是引用传递