球队,
我的红移版本是:
PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.735
Run Code Online (Sandbox Code Playgroud)
如何找出数据库大小,表空间,架构大小和表大小?
但以下不适用于红移(适用于以上版本)
SELECT pg_database_size('db_name');
SELECT pg_size_pretty( pg_relation_size('table_name') );
Run Code Online (Sandbox Code Playgroud)
有没有找到像oracle的替代品(来自DBA_SEGMENTS)
对于tble size,我有以下查询,但不确定MBYTES的确切分析.对于第3行,MBYTES = 372.它意味着372 MB?
select trim(pgdb.datname) as Database, trim(pgn.nspname) as Schema,
trim(a.name) as Table, b.mbytes, a.rows
from ( select db_id, id, name, sum(rows) as rows from stv_tbl_perm a group by db_id, id, name ) as a
join pg_class as pgc on pgc.oid = a.id
join pg_namespace as pgn on pgn.oid = pgc.relnamespace …Run Code Online (Sandbox Code Playgroud) 您能否指导我如何查看授予Azure SQL数据库中的任何数据库用户或一般用于MSSQL Server实例的当前角色/权限?
我有以下查询:
SELECT r.name role_principal_name, m.name AS member_principal_name
FROM sys.database_role_members rm
JOIN sys.database_principals r
ON rm.role_principal_id = r.principal_id
JOIN sys.database_principals m
ON rm.member_principal_id = m.principal_id
WHERE r.name IN ('loginmanager', 'dbmanager');
Run Code Online (Sandbox Code Playgroud)
我还需要知道授予这些角色"loginmanager"和"dbmanager"的权限是什么?
你能帮帮我吗?
团队,我使用的是 redshift 版本 *(8.0.2 )。使用 COPY 命令加载数据时,出现错误:-“字符串包含无效或不受支持的 UTF8 代码点,错误的 UTF8 十六进制序列:bf(错误 3)”。似乎 COPY 试图将 UTF-8 "bf" 加载到 VARCHAR 字段中。根据 Amazon redshift,此错误代码 3 定义如下:
error code3:
The UTF-8 single-byte character is out of range. The starting byte must not be 254, 255
or any character between 128 and 191 (inclusive).
Run Code Online (Sandbox Code Playgroud)
亚马逊建议将此作为解决方案 - 我们需要用有效的 UTF-8 代码序列替换该字符或删除该字符。
你能帮我如何用有效的 UTF-8 代码替换字符吗?
当我在 PG-ADMIN 中检查数据库属性时,它显示编码为 UTF-8。
请指导我如何替换输入分隔文件中的字符。
谢谢...
团队,我正在研究redshift(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 ( …Run Code Online (Sandbox Code Playgroud) 我正在使用redshift cluster db.
版:
PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.735
Run Code Online (Sandbox Code Playgroud)
我只需要删除一个用户.它给出了以下错误消息:
redshiftpocdb=# drop user test_55;
ERROR: user "test_55" cannot be dropped because the user has a privilege on some object
Run Code Online (Sandbox Code Playgroud)
我是pasing\dp输出:
redshiftpocdb=# \dp
Access privileges
schema | name | type | access privileges
--------+---------+-------+-------------------
public | company | table |
public | test2 | table |
public | test22 | table |
public | test222 | table |
public | …Run Code Online (Sandbox Code Playgroud) 团队,你能帮我获取 sql 查询以找出以下信息:
1) 我将“USAGE ON LANGUAGE PLPYTHONU”授予数据库 TESTDB1 上的 TESTUSER1。如何查明该用户是否在该特定数据库 testdb1 中授予此权限?
testdb1=>grant USAGE ON LANGUAGE PLPYTHONPU to testuser1;
Run Code Online (Sandbox Code Playgroud)
2) 我将一个函数的执行权限授予TESTUSER1。如何查找该用户是否在该特定数据库 testdb1 中授予此权限?
testdb1=> grant execute on function schema1.fun1(float,float) to testuser1;
GRANT
Run Code Online (Sandbox Code Playgroud)
谢谢
团队,我正在使用amazon redshift(8.0.2版本)我创建了一个组并获得了以下2个权限,并为该组添加了一个用户.如果我检查'pg_group',我将能够看到作为该组成员的用户名.但我应该能够看到授予该组的许可是什么.
例如
redshift=# create group group1;
CREATE GROUP
redshift=# grant select on public.table_mar19_test2 to group group1;
GRANT
redshift=# alter group group1 add user user001;
ALTER GROUP
redshift=# select * from pg_group
groname | grosysid | grolist
---------------+----------+-----------
group1 | 101 | {148}
(1 rows)
Run Code Online (Sandbox Code Playgroud)
现在,我们是否有任何SQL查询来查找给予该组的选择授权?来自多个数据库的多个授权被一个组打磨.所以,我应该能够看到哪个授权来自集群中的哪个数据库.
请指导我.
团队,
你能指导我吗:
谢谢
斯克