Fix schema support for RedShift
@apparentlymart
Related to #12 , can you run the following for me in psql?
SELECT * FROM pg_catalog.pg_namespace n;
\d pg_catalog.pg_namespace
Reported by @apparentlymart in https://github.com/terraform-providers/terraform-provider-postgresql/pull/12#issuecomment-317067820
Unfortunately I already shut down the redshift cluster I was working in for the testing of #12. I'll try to get another one spun up later to look at this, when I have a good block of time to wait for it to boot up!
@apparentlymart It's not a high priority for me. I'd take input from any RedShift user, tbh, but it's not something I'm motivated to take huge amounts of initiative to tackle. The fixes are pretty straight forward but require the above input. Whenever is convenient. Thanks!
Hi @sean-,
I came across this ticket. I'm very keen to manage schema and user permissions for Redshift with Terraform, so please let me know what I can to do help.
Here's the output you requested. I've redacted internal names.
cheers, jml
memrise=> SELECT * FROM pg_catalog.pg_namespace n;
nspname | nspowner | nspacl
--------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
pg_toast | 1 |
pg_internal | 1 |
pg_temp_1 | 1 |
pg_catalog | 1 | {rdsdb=UC/rdsdb,=U/rdsdb}
public | 1 | {rdsdb=UC/rdsdb,=UC/rdsdb}
information_schema | 1 | {rdsdb=UC/rdsdb,=U/rdsdb}
pg_temp_9 | 1 |
pg_temp_10 | 1 |
pg_temp_11 | 1 |
pg_temp_12 | 1 |
pg_temp_13 | 1 |
pg_temp_14 | 1 |
pg_temp_16 | 1 |
pg_temp_15 | 1 |
pg_temp_17 | 1 |
pg_temp_18 | 1 |
pg_temp_19 | 1 |
pg_temp_20 | 1 |
pg_temp_21 | 1 |
pg_temp_22 | 1 |
pg_temp_23 | 1 |
pg_temp_24 | 1 |
pg_temp_25 | 1 |
pg_temp_27 | 1 |
pg_temp_26 | 1 |
pg_temp_28 | 1 |
pg_temp_30 | 1 |
pg_temp_32 | 1 |
pg_temp_31 | 1 |
pg_temp_29 | 1 |
pg_temp_34 | 1 |
pg_temp_35 | 1 |
pg_temp_33 | 1 |
pg_temp_38 | 1 |
pg_temp_39 | 1 |
pg_temp_42 | 1 |
pg_temp_41 | 1 |
pg_temp_43 | 1 |
pg_temp_44 | 1 |
pg_temp_36 | 1 |
pg_temp_45 | 1 |
pg_temp_47 | 1 |
pg_temp_46 | 1 |
pg_temp_40 | 1 |
pg_temp_37 | 1 |
pg_temp_6 | 1 |
admin | 100 |
pg_temp_5 | 1 |
pg_temp_7 | 1 |
pg_temp_2 | 1 |
pg_temp_4 | 1 |
pg_temp_8 | 1 |
pg_temp_3 | 1 |
dev | 103 |
nspname | nspowner |
nspname | nspowner |
nspacl
--------------------+----------+-----------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
--------------------
pg_toast | 1 |
pg_internal | 1 |
pg_temp_1 | 1 |
pg_catalog | 1 | {rdsdb=UC/rdsdb,=U/rdsdb}
public | 1 | {rdsdb=UC/rdsdb,=UC/rdsdb}
information_schema | 1 | {rdsdb=UC/rdsdb,=U/rdsdb}
pg_temp_9 | 1 |
pg_temp_10 | 1 |
pg_temp_11 | 1 |
pg_temp_12 | 1 |
pg_temp_13 | 1 |
pg_temp_14 | 1 |
pg_temp_16 | 1 |
pg_temp_15 | 1 |
pg_temp_17 | 1 |
pg_temp_18 | 1 |
pg_temp_19 | 1 |
pg_temp_20 | 1 |
pg_temp_21 | 1 |
pg_temp_22 | 1 |
pg_temp_23 | 1 |
pg_temp_24 | 1 |
pg_temp_25 | 1 |
pg_temp_27 | 1 |
pg_temp_26 | 1 |
pg_temp_28 | 1 |
pg_temp_30 | 1 |
pg_temp_32 | 1 |
pg_temp_31 | 1 |
pg_temp_29 | 1 |
pg_temp_34 | 1 |
pg_temp_35 | 1 |
pg_temp_33 | 1 |
pg_temp_38 | 1 |
pg_temp_39 | 1 |
pg_temp_42 | 1 |
pg_temp_41 | 1 |
pg_temp_43 | 1 |
pg_temp_44 | 1 |
pg_temp_36 | 1 |
pg_temp_45 | 1 |
pg_temp_47 | 1 |
pg_temp_46 | 1 |
pg_temp_40 | 1 |
pg_temp_37 | 1 |
pg_temp_6 | 1 |
admin | 100 |
pg_temp_5 | 1 |
pg_temp_7 | 1 |
pg_temp_2 | 1 |
pg_temp_4 | 1 |
pg_temp_8 | 1 |
pg_temp_3 | 1 |
dev | 103 |
pg_temp_50 | 1 |
pg_temp_48 | 1 |
pg_temp_52 | 1 |
pg_temp_54 | 1 |
pg_temp_53 | 1 |
pg_temp_55 | 1 |
pg_temp_56 | 1 |
pg_temp_58 | 1 |
pg_temp_60 | 1 |
pg_temp_59 | 1 |
pg_temp_49 | 1 |
redacted_schema_1 | 109 |
redacted_schema_2 | 100 |
redacted_name_1 | 104 | {redacted_username_1=UC/redacted_username_1,"group redacted_group_name_1=U/redacted_username_1","group power_users=U/redacted_username_1"}
redacted_name_2 | 103 | {redacted_username_2=UC/redacted_username_2,"group developers=UC/redacted_username_2","group readonly=U/redacted_username_2","group power_users=U/redacted_username_2","group readonly_power_users=U/redacted_username_2"}
models | 103 | {redacted_username_2=UC/redacted_username_2,redacted_username_1=U/redacted_username_2,"group developers=UC/redacted_username_2","group readonly=U/redacted_username_2","group redacted_group_name_3=U/redacted_username_2","group readonly_power_users=U/redacted_username_2"}
...
pg_temp_51 | 1 |
pg_temp_61 | 1 |
pg_temp_72 | 1 |
pg_temp_65 | 1 |
pg_temp_73 | 1 |
pg_temp_74 | 1 |
pg_temp_77 | 1 |
pg_temp_66 | 1 |
pg_temp_81 | 1 |
pg_temp_68 | 1 |
pg_temp_67 | 1 |
pg_temp_82 | 1 |
pg_temp_83 | 1 |
pg_temp_129 | 1 |
pg_temp_132 | 1 |
pg_temp_133 | 1 |
pg_temp_70 | 1 |
pg_temp_79 | 1 |
pg_temp_80 | 1 |
pg_temp_89 | 1 |
pg_temp_92 | 1 |
pg_temp_93 | 1 |
pg_temp_122 | 1 |
pg_temp_123 | 1 |
pg_temp_124 | 1 |
pg_temp_125 | 1 |
pg_temp_126 | 1 |
pg_temp_103 | 1 |
pg_temp_117 | 1 |
pg_temp_130 | 1 |
pg_temp_71 | 1 |
pg_temp_69 | 1 |
pg_temp_75 | 1 |
pg_temp_76 | 1 |
pg_temp_78 | 1 |
pg_temp_114 | 1 |
pg_temp_112 | 1 |
pg_temp_113 | 1 |
pg_temp_115 | 1 |
pg_temp_116 | 1 |
pg_temp_127 | 1 |
pg_temp_131 | 1 |
pg_temp_121 | 1 |
pg_temp_134 | 1 |
pg_temp_137 | 1 |
pg_temp_136 | 1 |
pg_temp_63 | 1 |
pg_temp_84 | 1 |
pg_temp_85 | 1 |
pg_temp_90 | 1 |
pg_temp_91 | 1 |
pg_temp_94 | 1 |
pg_temp_95 | 1 |
pg_temp_96 | 1 |
pg_temp_99 | 1 |
pg_temp_98 | 1 |
pg_temp_101 | 1 |
pg_temp_100 | 1 |
pg_temp_86 | 1 |
pg_temp_97 | 1 |
pg_temp_87 | 1 |
pg_temp_57 | 1 |
pg_temp_62 | 1 |
pg_temp_64 | 1 |
pg_temp_88 | 1 |
...
spectrum | 103 | {redacted_username_2=UC/redacted_username_2,"group redacted_group_name_4=U/redacted_username_2"}
...
(172 rows)