在 Redshift 中创建后如何更改表架构?

2024-03-18

Postgresql 支持此操作,如下所示:

ALTER TABLE name
    SET SCHEMA new_schema

该操作在 Redshift 中不起作用。有什么办法可以做到这一点吗?

我尝试更新 pg_class 来为表设置 relnamespace(schema id),这需要超级用户帐户,并且 pg_shadow 表中的 usecatupd 为 true。但我收到了权限被拒绝的错误。唯一可以修改 pg 系统表的帐户是 rdsdb。

server=# select * from pg_user;
  usename   | usesysid | usecreatedb | usesuper | usecatupd |  passwd  | valuntil |            useconfig             
------------+----------+-------------+----------+-----------+----------+----------+----------------------------------
 rdsdb      |        1 | t           | t        | t         | ******** |          | 
 myuser     |      100 | t           | t        | f         | ******** |          | 

那么红移真的不允许这样做吗?


最快的方法来做到这一点now如下:

CREATE TABLE my_new_schema.my_table (LIKE my_old_schema.my_table);
ALTER TABLE my_new_schema.my_table APPEND FROM my_old_schema.my_table;
DROP TABLE my_old_schema.my_table;

数据为my_old_schema.my_table只是重新映射为属于my_new_schema.my_table在这种情况下。比做一个要快得多INSERT INTO.

重要的提示:“数据成功追加到目标表后,源表为空”(来自关于 ALTER TABLE APPEND 的 AWS 文档 https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_TABLE_APPEND.html),所以要小心run the ALTER只声明一次!

请注意,您may必须删除并重新创建任何依赖于的视图my_old_schema.my_table. 更新:如果您经常这样做,您应该使用以下命令创建视图WITH NO SCHEMA BINDING并且它们将继续指向正确的表,而无需重新创建。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Redshift 中创建后如何更改表架构? 的相关文章

  • Redshift - 分隔值缺少结束引号

    我正在尝试将 CSV 文件加载到 redshift 分隔符 CSV 的第一列 1 Bhuvi This is ok email protected 我用这个命令来加载 copy tbl from s3 datawarehouse sourc
  • 使用 psycopg2 和 Lambda 更新 Redshift (Python)

    我正在尝试使用 python 从 Lambda 函数更新 Redshift 为此 我尝试组合 2 个代码片段 当我单独运行它们时 这两个片段都可以正常工作 从 PyDev for Eclipse 更新 Redshift import psy
  • 如何在 redshift 中进行 GROUP BY 和 CONCATENATE 字段

    如何在 Redshift 中进行 GROUP BY 和 CONCATENATE 字段 例如 如果我有桌子 ID COMPANY ID EMPLOYEE 1 1 Anna 2 1 Bill 3 2 Carol 4 2 Dave 我怎样才能得到
  • AWS RedShift - .NET Core(ODBC 支持?)

    如何使用 NET Core 连接 AWS RedShift 并运行查询 请提供代码示例 我已经阅读了 AWS 文档和 Net Core 文档 但没有运气 这个答案是针对特定时间点的 不会过时 EntityFramework Core 项目是
  • 3 个月移动平均线 - Redshift SQL

    我正在尝试根据使用 RedShift SQL 或 Domo BeastMode 如果有人熟悉的话 时拥有的一些数据创建 3 个月移动平均值 数据是按天计算的 但需要按月显示 所以需要按月汇总报价 收入 然后需要计算一个3MMA 不包括当月
  • Redshift内部“身份”功能的签名

    在处理旧版 Redshift 数据库时 我发现自动增量列的默认标识值有不熟悉的模式 例如 create table sometable row id bigint default identity 24078855 0 1 1 text 令
  • Redshift - 将纪元字符串转换为时间戳

    我有一个包含 2 列 epoch start 和 epoch end 的表 我想找出这两个纪元的天数差异 我面临的问题是上面的列是字符变化 5000 类型 我运行的查询是 选择 datediff day 1459762341 1450762
  • redshift - 如何插入表生成的时间序列

    我正在尝试在 Redshift 中生成时间序列并插入表中 但没有成功 到目前为止我已经尝试过 insert into date dateid date SELECT to char datum YYYYMMDD int AS dateid
  • 在Python中使用psycopg2获取插入行到Redshift表的自动ID

    我正在将一条记录插入亚马逊红移表来自Python 2 7 using psycopg2库 我想取回插入行的自动生成主 ID 我尝试了使用谷歌搜索在这里或其他网站中找到的常用方法 例如 conn psycopg2 connect conn s
  • 如何获取 Redshift 中的 UDF 列表?

    有没有一种简单的方法来获取 Redshift 中可用的所有 UDF 的列表 此外 我想查找具有参数类型的 UDF 并按名称搜索 UDF 您可以查询pg proc表以获取所有可用的 UDF 按名称过滤 您可以使用以下命令按名称进行过滤pron
  • 由于 VACUUM 查询,Amazon Redshift 磁盘使用率为 100%

    阅读 Amazon Redshift 文档后 我在某个 400GB 表上运行了 VACUUM 该表以前从未被清理过 以尝试提高查询性能 不幸的是 VACUUM 导致表增长到 1 7TB 并使 Redshift 的磁盘使用率达到 100 然后
  • 在 Redshift 中创建后如何更改表架构?

    Postgresql 支持此操作 如下所示 ALTER TABLE name SET SCHEMA new schema 该操作在 Redshift 中不起作用 有什么办法可以做到这一点吗 我尝试更新 pg class 来为表设置 reln
  • 将数字字段中带有逗号的数据导入到 redshift 中

    我正在使用 SQL 将数据导入 redshiftCOPY陈述 数据在数字字段中包含逗号千位分隔符COPY声明拒绝 The COPY语句有许多选项来指定字段分隔符 日期和时间格式以及 NULL 值 但是我没有看到任何指定数字格式的内容 我是否
  • 如何将 csv 数据文件复制到 Amazon RedShift?

    我正在尝试将一些 MySQL 表迁移到 Amazon Redshift 但遇到了一些问题 步骤很简单 1 将MySQL表转储到csv文件 2 将csv文件上传到S3 3 将数据文件复制到RedShift 第3步出现错误 SQL命令是 从 s
  • 如何将纪元转换为日期时间红移?

    我在 dbeaver 工作 我有一个表x 表 x 有一个 时间戳 列 1464800406459 1464800400452 1464800414056 1464800422854 1464800411797 我想要的结果 Wed 01 J
  • Amazon Redshift-备份和恢复最佳实践?

    我们在 Redshift 中有一组表 其中的列具有 IDENTITY 属性 用于序列生成 在测试阶段 需要进行备份和恢复 这是每个测试周期的重复活动 我们按照以下流程进行备份然后恢复 并遇到以下问题 传统方式 使用 CREATE TABLE
  • 尝试使用 Redshift SQL 对累积不同实体进行计数

    我正在尝试获取某个时间序列中 Redshift 中不同对象的累积计数 最简单的事情就是使用COUNT DISTINCT myfield OVER ORDER BY timefield DESC ROWS UNBOUNDED PRECEDIN
  • Redshift Serverless 上的关系 stl_load_errors 权限被拒绝

    我使用 Amazon Redshift Serverless 和查询编辑器 v2 但在用户权限方面遇到问题 在S3中导入数据 csv 时出现以下错误 ERROR Load into table x failed Check sys load
  • 非聚合查询内部的聚合情况

    我有一个相当大的查询 其最简单的形式如下所示 select r rep id u user id u signup date pi application date pi management date aum from table1 r
  • 如何更改 Amazon Redshift 中的默认时区?

    默认情况下将时间戳列设置为 SYSDATE 将其存储为UTC 是否可以更改时区 以便 SYSDATE 将日期和时间存储到不同的时区 到目前为止 我已经检查了SET http docs aws amazon com redshift late

随机推荐

  • ProGuard:保持私有内部类

    如何在 ProGuard 中保留私有内部类 我已经在我的 proguard cfg 中使用 表示内部类 下面的代码 但它不起作用 keep public class com xxx droid activity LoginActivity
  • 编译器内部如何解决C++中的钻石问题?

    我们知道可以使用虚拟继承来解决钻石问题 例如 class Animal base class int weight public int getWeight return weight class Tiger public Animal c
  • Android:如何判断软键盘是否显示?

    困境如下 我正在显示一个屏幕 其中有 3 个输入字段和一个选项卡内有 2 个按钮 总共有 3 个选项卡 它们位于屏幕底部 这 2 个按钮设置在屏幕的左下角和右下角 选项卡的正上方 当我单击输入字段时 选项卡和按钮都会被推到键盘顶部 我只想向
  • UIButton setAttributedTitle:forState:未显示

    我试图在自定义 UIButton 上的标题上添加下划线 但按照发现的示例here https stackoverflow com a 15930032 329900 我无法让它显示在屏幕上 这是我尝试使用的代码 NSMutableAttri
  • 我应该使用哪个高级 API 来管理 iOS 上的 UDP 套接字? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在章节 使用套接字和流 https developer apple com library mac d
  • 警告错误 6002:表/视图没有定义主键

    此主题已多次出现 但没有答案让我选择如何在 EF 中避免此问题 我的警告 警告错误 6002 表 视图 ADContainersWithEnvironmentsView 没有定义主键 关键已经推断出来了 定义被创建为只读表 视图 基本上 我
  • 自动调整闪亮的图表大小

    如何在闪亮的情况下自动调整 rChart 绘图的大小 我想使绘图适合用户的屏幕 就像使用 renderPlot 对常规绘图所做的那样 这是一个最小的例子 Server R require rCharts shinyServer functi
  • 可移植类库反射

    我目前正在尝试将 Xamarin iOS 应用程序库转换为 PCL 配置文件 78 我有这段代码无法编译 public static void RegisterAllCommandHandlers IEnumerable
  • 加速 jQuery AutoComplete(不可避免的长列表)

    今天下午早些时候 我开始了加速 jQuery 自动完成的旅程 并认为开始可能是个好主意内存缓存一切 正如本文所建议的 加快自动完成速度 https stackoverflow com questions 5820741 jquery ui
  • 证明对于以下每个,g(n) 都是 O(g(n)) [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 2 sqrt log n is O n 4 3 n 4 3 is O n log n 3 n log n 3 is O n log n
  • Android 上具有多个模块的 Firebase 推送通知

    我目前正在尝试在我们的应用程序中实现推送通知 所以我们有三个模块 App 1 Logic App 2 我显然给了他们名字 应用程序 1 和 2 依赖于逻辑模块 该模块包含两个应用程序的所有逻辑 现在 我希望向登录应用程序 1 或应用程序 2
  • 如何保存动态创建的文本框及其值

    我正在开发一个需要保存动态创建的文本框的项目 我需要在第二次运行应用程序时显示文本框的数据 这是我的代码 public partial class Form1 Form public Form1 InitializeComponent st
  • JavaScript 提交期间未传递 URL 参数

    我正在尝试从 javascript 提交表单 表单已提交 但参数未传递 下面是我的代码
  • Mongocxx 无法使用 SSL 连接到 mongoDB

    我完成了以下教程 https medium com rajanmaharjan secure your mongodb connections ssl tls 92e2addb3c89 https medium com rajanmahar
  • 什么是更新每用户系统参数?

    在我的服务中 我需要在更改登录屏幕保护程序超时后发出 刷新 在做研究的同时 我不断地寻找参考资料 http social technet microsoft com Forums windows en US c5979d78 9732 41
  • 通过 Javascript 访问 Twitter

    我正在构建一个通过以下方式使用 twitter 的网络应用程序 1 用户可以使用 Twitter 登录 即用户对应用程序进行身份验证和授权 我得到以下内容 我存储到服务器的 oauth token secret OAUTH TOKEN SE
  • Android:使用java反射更改私有静态最终字段

    使用 Java 反射更改私有静态最终字段 https stackoverflow com questions 3301635 change private static final field using java reflection 我
  • 将 Web Workers 捆绑为 npm 包的组成部分,并具有单个文件 Webpack 输出

    我正在编写一个 npm 包 它是流行库 leafletjs 的插件 我正在使用 webpack 来捆绑包 我希望这个包能够根据命令生成和销毁一些网络工作者 Web Worker 代码是我的源文件的一部分 但我希望能够将我的包作为 npm 模
  • Python Pandas,仅在特定时间重新采样

    我的 pandas 版本是 0 18 我有一个如下所示的分钟数据 Time 2009 01 30 09 30 00 85 11 100 11 2009 01 30 09 39 00 84 93 100 05 2009 01 30 09 40
  • 在 Redshift 中创建后如何更改表架构?

    Postgresql 支持此操作 如下所示 ALTER TABLE name SET SCHEMA new schema 该操作在 Redshift 中不起作用 有什么办法可以做到这一点吗 我尝试更新 pg class 来为表设置 reln