【发布时间】:2014-06-01 02:02:08
【问题描述】:
团队, 我正在研究红移( 8.0.2 )。我想为 redshift 中的任何对象类型(表/视图...)设置 DDL 命令。
我有以下一个。但它没有给出全文。
select s.userid,u.usename,s.starttime, s.type, rtrim(s.text) from svl_statementtext s, pg_user u
where u.usesysid = s.userid
and s.type = 'DDL'
and s.text like '%table11%'
order by s.starttime asc;
userid | usename | starttime | type | text
--------+----------------------------------------------------------------------------------------------------------------------------------+----------------------------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
143 | user11 | 2014-04-16 23:42:06.227296 | DDL | CREATE TABLE table11 ( log_time date, user_name text, database_name text, process_id integer, connection_from text, session_id text, session_line_num bigint, command_tag text, session_start_time
143 | user11 | 2014-04-16 23:42:06.234987 | DDL | CREATE TABLE table11 ( log_time date, user_name text, database_name text, process_id integer, connection_from text, session_id text, session_line_num bigint, command_tag text, session_start_time
(2 rows)
在 Oracle 中,我们有 DDL_METADATA.GET_DDL pkg。它将给出全文。我也想拥有同样的。我尝试使用 STL_DDLTEXT。文本被修剪了很多。
select xid, starttime, sequence, substring(text,1,40) as text
from stl_ddltext where userid = 100 and text like '%table11%' order by xid desc, sequence;
xid | starttime | sequence | text
--------+----------------------------+----------+------------------------------------------
135475 | 2014-04-16 23:42:06.234987 | 0 | CREATE TABLE table11 ( log_time dat
135475 | 2014-04-16 23:42:06.227296 | 0 | CREATE TABLE table11 ( log_time dat
(2 rows)
我对第一个查询输出还有一些疑问。 “用户名”的列长度太高。如何修剪。如果我查询 pg_user,它会在内部进行修剪。在 oracle 中,我们可以拥有例如
" col <col_name> for a80 "
第二个疑问:我得到 2 行。实际上我只创建了一张桌子。输出中有 2 行的任何原因?
例如在物理 postgre db 中,如果我们想为一个函数生成任何 ddl, 我们可以在下面使用。
在下面,函数名是“add”
SELECT pg_catalog.pg_get_functiondef('add'::regproc);
像这样,我们在 Redshift 中有任何用于表/视图的 pkg 吗?
谢谢
【问题讨论】:
标签: amazon-redshift