如何卸载 Redshift 权限?
How to UNLOAD Redshift permissions?
我试图将 Redshift 权限卸载到 S3,但函数 HAS_TABLE_PRIVILEGE() 使用 leader-node,这与 UNLOAD 不兼容。
有替代方案吗?
如您所见,不能像 Redshift 上的其他数据一样对待仅限领导者的数据。在 Redshift 内部有一个解决方法,但它有点笨拙。您可以将 select 语句结果推入游标,然后从游标中读取此信息并将其读入数据 table,然后您可以像处理任何其他数据一样操作这些数据。这是在存储过程中完成的 - 例如将仅领导系统 table 的数据移动到正常的 table How to join System tables or Information Schema tables with User defined tables in Redshift
或者,您可以让发出查询的工具只将结果保存到 S3。这可以是 Lambda 函数,也可以只是您的工作台,后面有 AWS CLI 命令。当涉及到这些“外部”选项时,有很多不同的选项。
我试图将 Redshift 权限卸载到 S3,但函数 HAS_TABLE_PRIVILEGE() 使用 leader-node,这与 UNLOAD 不兼容。
有替代方案吗?
如您所见,不能像 Redshift 上的其他数据一样对待仅限领导者的数据。在 Redshift 内部有一个解决方法,但它有点笨拙。您可以将 select 语句结果推入游标,然后从游标中读取此信息并将其读入数据 table,然后您可以像处理任何其他数据一样操作这些数据。这是在存储过程中完成的 - 例如将仅领导系统 table 的数据移动到正常的 table How to join System tables or Information Schema tables with User defined tables in Redshift
或者,您可以让发出查询的工具只将结果保存到 S3。这可以是 Lambda 函数,也可以只是您的工作台,后面有 AWS CLI 命令。当涉及到这些“外部”选项时,有很多不同的选项。