iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Redshift drop有依赖关系的表
  • 298
分享到

Redshift drop有依赖关系的表

2024-04-02 19:04:59 298人浏览 独家记忆
摘要

今天开发需要删除AWS Redshift的一个归档表,但是直接drop发生了如下报错,发现有其他对象依赖这个表,导致无法直接删除,但是报错没有直接显示是什么对象依赖它,可能是有视图,外键等约束an

今天开发需要删除AWS Redshift的一个归档表,但是直接drop发生了如下报错,发现有其他对象依赖这个表,导致无法直接删除,但是报错没有直接显示是什么对象依赖它,可能是有视图,外键等约束

analyticsprod=# DROP TABLE IF EXISTS facts.auto_events_bk_20170223;

ERROR:  cannot drop table auto_events_bk_20170223 because other objects depend on it

HINT:  Use DROP ... CASCADE to drop the dependent objects too.


通过\d+ auto_events_bk_20170223 查看表结构,发现并没有其他表的外键约束,所以排除;

然后通过\dv+命令在schema:facts下查看视图,但是发现没有任何view存在,但是view可能存在其他schema或db,

那么问题来了,如何在整个数据库中找到与这个表有依赖的的view?


这里AWS Redshift已经给我们提供了一个好的方法,参考链接:https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE.html


创建一个视图find_depend:

create view find_depend as
select distinct c_p.oid as tbloid,
n_p.nspname as schemaname, c_p.relname as name,
n_c.nspname as refbyschemaname, c_c.relname as refbyname,
c_c.oid as viewoid
from pg_catalog.pg_class c_p
join pg_catalog.pg_depend d_p
on c_p.relfilenode = d_p.refobjid
join pg_catalog.pg_depend d_c
on d_p.objid = d_c.objid
join pg_catalog.pg_class c_c
on d_c.refobjid = c_c.relfilenode
left outer join pg_namespace n_p
on c_p.relnamespace = n_p.oid
left outer join pg_namespace n_c
on c_c.relnamespace = n_c.oid
where d_c.deptype = 'i'::"char"
and c_c.relkind = 'v'::"char";



查询视图找到与表auto_events_bk_20170223相关的view:


analyticsprod=# select * from facts.find_depend where schemaname='facts' and name not in ('find_depend') order by name;
 tbloid | schemaname |          name           | refbyschemaname |  refbyname  | viewoid
--------+------------+-------------------------+-----------------+-------------+---------
 879566 | facts      | auto_events_bk_20170223 | public          | map_routes2 |  965969
 879566 | facts      | auto_events_bk_20170223 | public          | map_routes  |  966155
 879566 | facts      | auto_events_bk_20170223 | public          | map_edges   | 1019697
(3 rows)

analyticsprod=# set search_path to public;

analyticsprod=# \dv
               List of relations
 schema |         name          | type | owner
--------+-----------------------+------+-------
 public | map_edges             | view | fengw
 public | map_edges_group       | view | fengw
 public | map_route_edges_group | view | fengw
 public | map_routes            | view | fengw
 public | map_routes2           | view | fengw
 public | map_routes_group      | view | fengw
(6 rows)




最后如果判断这些相关的view没有用的话,可以通过命令drop table auto_events_bk_20170223 cascade删除表,包括视图一同删除。


您可能感兴趣的文档:

--结束END--

本文标题: Redshift drop有依赖关系的表

本文链接: https://www.lsjlt.com/news/37530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NETCore依赖关系注入
    1.前言 面向对象设计(OOD)里有一个重要的思想就是依赖倒置原则(DIP),并由该原则牵引出依赖注入(DI)、控制反转(IOC)及其容器等老生常谈的概念,初学者很容易被这些概念搞晕...
    99+
    2024-04-02
  • PHP 调试 Composer 依赖:解决依赖关系问题
    调试 composer 依赖关系问题解决依赖关系问题的方法:检查 composer.lock 文件使用 composer show-root-requires强制刷新依赖关系设置调试模式...
    99+
    2024-05-12
    php composer
  • Maven依赖关系是什么
    这篇文章主要介绍“Maven依赖关系是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Maven依赖关系是什么”文章能帮助大家解决问题。1.何为依赖?我们在平时的项目开发中也是同理,你需要依赖一些...
    99+
    2023-06-26
  • RequireJS依赖关系的示例分析
    这篇文章主要介绍RequireJS依赖关系的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下面有个html页面:<html>   <he...
    99+
    2024-04-02
  • 怎么在SAP里开发具有依赖关系的互动下拉列表
    本篇内容主要讲解“怎么在SAP里开发具有依赖关系的互动下拉列表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在SAP里开发具有依赖关系的互动下拉列表”吧!先看个例子:CRM Account维...
    99+
    2023-06-04
  • Oracle 查询锁之间的依赖关系
      ...
    99+
    2024-04-02
  • 如何查看Android 包依赖关系
    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、查看依赖关系3.1 方式一...
    99+
    2023-12-25
    android 依赖
  • idea如何查看jar依赖关系
    有几种方法可以查看一个JAR文件的依赖关系: 使用命令行工具:您可以使用命令行工具如jar、jdeps或javap来查看JAR文件...
    99+
    2024-04-02
  • idea如何查找maven依赖、查看依赖关系、删除重复的jar包
    一 先装一个管理pom依赖的插件 File–>Settings–>Plugins–>搜索maven–>找到Maven Helper安装–>重启idea 打开pom.xml剔除重复的包 1 选择Dep...
    99+
    2023-09-30
    intellij-idea jar java
  • Spring事务、异步和循环依赖的关系有哪些
    这篇文章主要介绍“Spring事务、异步和循环依赖的关系有哪些”,在日常操作中,相信很多人在Spring事务、异步和循环依赖的关系有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • golang函数类型的依赖关系解析
    函数类型依赖关系解析简介:函数类型用于定义接受和返回其他函数的函数。依赖关系存在于 a 接收或返回 b 类型的函数类型之间。解析方法包括手动解析、使用工具(如 goimports)和静态...
    99+
    2024-04-28
    golang 函数依赖关系
  • ubuntu如何解决安装依赖关系
    在Ubuntu上解决安装依赖关系的方法有几种。1. 使用apt-get命令:在终端中使用以下命令安装一个软件包时,apt-get会自...
    99+
    2023-09-20
    ubuntu
  • Vue实例的深入探讨:掌握其依赖注入和依赖关系管理
    Vue 实例的依赖注入 Vue 实例的依赖注入是一项强大的机制,它允许您将依赖项注入到实例中。这使您可以轻松地管理代码中的依赖关系,并提高组件的可重用性。 要进行依赖注入,请在创建 Vue 实例时使用 inject 选项: const ...
    99+
    2024-02-18
    Vue 实例 依赖注入 依赖关系管理 响应式 生命周期
  • OpenBSD如何处理软件包的依赖关系
    OpenBSD使用一个叫做pkg_add的工具来安装软件包,并且处理软件包的依赖关系。当使用pkg_add安装一个软件包时,它会自动...
    99+
    2024-04-02
  • linux如何显示与一个rpm包存在依赖关系的列表
    ...
    99+
    2024-04-02
  • Spark中的窄依赖和宽依赖有什么区别
    在Spark中,窄依赖和宽依赖是指不同的RDD之间的依赖关系。它们的区别在于如何执行操作和进行数据分区。 窄依赖(Narrow ...
    99+
    2024-03-04
    Spark
  • ASP.NET Core依赖关系注入怎么实现
    本篇内容主要讲解“ASP.NET Core依赖关系注入怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET Core依赖关系注入怎么实现”吧!1.前言面向对象...
    99+
    2023-06-29
  • Golang 函数文档中如何表示函数之间的依赖关系?
    go 函数文档中的函数依赖关系表示函数之间的交互方式,用于帮助开发人员了解这些交互。使用 //go:embed 注释指定对嵌入文件的依赖关系。使用 //go:generate 注释指定对...
    99+
    2024-04-18
    golang 函数依赖关系
  • maven多个项目之间的依赖关系管理
    本篇内容主要讲解“maven多个项目之间的依赖关系管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“maven多个项目之间的依赖关系管理”吧!1.应用Aggregation管理多个子项目Mave...
    99+
    2023-06-17
  • 如何使用jMeter构造有依赖关系的一系列并发请求
    这篇文章主要介绍“如何使用jMeter构造有依赖关系的一系列并发请求”,在日常操作中,相信很多人在如何使用jMeter构造有依赖关系的一系列并发请求问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用jMe...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作