--test set role/session error with wrong username or password
create role wrong_role password 'Gauss@123';
set role wrong_role password 'Gauss@1234';
\! sleep 0.5
set role null_role password 'Gauss@123';
\! sleep 0.5
set session authorization wrong_role password 'Gauss@1234';
\! sleep 0.5
set session authorization null_role password 'Gauss@123';
\! sleep 0.5
drop role wrong_role;
--test nouser can alter set initial account
create user alter_set_initial_user sysadmin password 'gauss@123';
DECLARE C_USER VARCHAR(100);
BEGIN
EXECUTE IMMEDIATE 'select user' INTO C_USER;
EXECUTE IMMEDIATE ('set role alter_set_initial_user password ''gauss@123'';');
EXECUTE IMMEDIATE ('alter role '||quote_ident(C_USER)||' set session_timeout to ''5min'' ;');
END;
/
reset role;
drop user alter_set_initial_user;
--test createrole can't change itself privileges.
create user createrole_change_itself createrole password 'gauss@123';
set role createrole_change_itself password 'gauss@123';
alter user createrole_change_itself VALID BEGIN '1111-11-11' VALID until '2222-12-12';
reset role;
drop user createrole_change_itself;
\c postgres;