On Wed, Jul 12, 2023 at 4:17 PM Gurjeet Singh <gurjeet@singh.im> wrote:
On Wed, Jul 12, 2023 at 12:42 PM Mateusz Henicz <mateuszhenicz@gmail.com> wrote: > > You can also just write an sql and execute it, like: > > select 'alter user '|| usename ||' with password ''newpassword'';' from pg_user; > \gexec
Note that the above assumes you're using psql.
For tools other than psql, you'd have to use dynamic SQL something like the DO block below. It will work on psql, just as well.
DO $$ declare rec record; begin for rec in select 'alter user '|| quote_ident(usename) ||' with password '|| quote_literal('newpassword') as c from pg_user loop raise notice 'Executing command: %', rec.c; execute rec.c; end loop; end; $$;