Skip to content

Instantly share code, notes, and snippets.

@gajoseph
Created May 19, 2018 21:28
Show Gist options
  • Save gajoseph/77867a5f820ba430241749849ea7ad68 to your computer and use it in GitHub Desktop.
Save gajoseph/77867a5f820ba430241749849ea7ad68 to your computer and use it in GitHub Desktop.
strings to rows
Select 'CREATE ROLE '|| user1||' LOGIN NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;' as createStat,
'ALTER ROLE '|| user1 ||' SET search_path = qtg;' as al1,
'ALTER ROLE '|| user1 ||' SET lock_timeout = ''60s'';' as al2,
'GRANT adhocgrp TO '||user1 || ';' as grant1, 'alter role ' || user1||' with password ''' ||password1 ||''';'
From (
select 'adhoc'||a as user1, left(md5( 'adhoc'||a|| inet_server_addr()),5) password1, 'Drop user '||'adhoc'||a ||';'
, 'COMMENT ON ROLE ' ||'adhoc'||a ||''' adhoc id for '||pg_catalog.shobj_description(b.oid, 'pg_authid') || ''';'
From (
select unnest(string_to_array(lower('TSDH2,TNXJ4,TDJS1,TAMG1,TPBW1,TJXB1,TJPH2,TOXM1'), ','))a
) A
left join pg_roles b on
a.a = b.rolname
) B
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment