在 redshift 中指定数据库中的表
Posted
技术标签:
【中文标题】在 redshift 中指定数据库中的表【英文标题】:specify a table in a database in redshift 【发布时间】:2016-11-21 20:52:04 【问题描述】:对 Redshift 非常陌生,目前正在对 Redshift 进行微基准测试,与内部旧数据库“mysql”相比。
在 Redshift 中我们是否可以?
在 MySQL 中:
CREATE DATABASE database_name;
CREATE TABLE database_name.table_name (blah blah);
SELECT * FROM database_name.table_name;
在 Redshift 中它会失败:
[Amazon](500310) Invalid operation: schema "database_name" does not exist;
有哪位大师能开导吗?
谢谢!
【问题讨论】:
Redshift 不是 mysql。 【参考方案1】:根据手册,每个数据库都有一个默认模式,名称为PUBLIC
。创建表时需要限定模式名称。
请参阅以下手册页:
Schemas 和 CREATE SCHEMA 和 CREATE TABLE 和 CREATE DATABASE
【讨论】:
正确。当您连接到 Redshift 中的DATABASE
时,您就在 in 该数据库中。您不能引用其他数据库。相反,有一个额外的schema
层,可以区分用户之间的表。以上是关于在 redshift 中指定数据库中的表的主要内容,如果未能解决你的问题,请参考以下文章
RedShift Copy - 列数不匹配 - 可以在卸载中指定吗?
如何在mysql中定时清除所有库中指定的表中的数据,而不用每个库都写一遍定时任务,求大神指点!!!