44-- Before going ahead with the to-be-tested installations, verify that
55-- a non-superuser is allowed to install plperl (but not plperlu) when
66-- suitable permissions have been granted.
7- CREATE USER regress_user1 ;
8- CREATE USER regress_user2 ;
9- SET ROLE regress_user1 ;
7+ CREATE USER regress_plperl_user1 ;
8+ CREATE USER regress_plperl_user2 ;
9+ SET ROLE regress_plperl_user1 ;
1010CREATE EXTENSION plperl; -- fail
1111ERROR: permission denied to create extension "plperl"
1212HINT: Must have CREATE privilege on current database to create this extension.
@@ -16,11 +16,11 @@ HINT: Must be superuser to create this extension.
1616RESET ROLE;
1717DO $$
1818begin
19- execute format('grant create on database %I to regress_user1 ',
19+ execute format('grant create on database %I to regress_plperl_user1 ',
2020 current_database());
2121end;
2222$$;
23- SET ROLE regress_user1 ;
23+ SET ROLE regress_plperl_user1 ;
2424CREATE EXTENSION plperl;
2525CREATE EXTENSION plperlu; -- fail
2626ERROR: permission denied to create extension "plperlu"
@@ -34,23 +34,23 @@ SELECT foo1();
3434
3535-- Must reconnect to avoid failure with non-MULTIPLICITY Perl interpreters
3636\c -
37- SET ROLE regress_user1 ;
37+ SET ROLE regress_plperl_user1 ;
3838-- Should be able to change privileges on the language
3939revoke all on language plperl from public;
40- SET ROLE regress_user2 ;
40+ SET ROLE regress_plperl_user2 ;
4141CREATE FUNCTION foo2() returns int language plperl as '2;'; -- fail
4242ERROR: permission denied for language plperl
43- SET ROLE regress_user1 ;
44- grant usage on language plperl to regress_user2 ;
45- SET ROLE regress_user2 ;
43+ SET ROLE regress_plperl_user1 ;
44+ grant usage on language plperl to regress_plperl_user2 ;
45+ SET ROLE regress_plperl_user2 ;
4646CREATE FUNCTION foo2() returns int language plperl as '2;';
4747SELECT foo2();
4848 foo2
4949------
5050 2
5151(1 row)
5252
53- SET ROLE regress_user1 ;
53+ SET ROLE regress_plperl_user1 ;
5454-- Should be able to drop the extension, but not the language per se
5555DROP LANGUAGE plperl CASCADE;
5656ERROR: cannot drop language plperl because extension plperl requires it
@@ -61,9 +61,9 @@ DETAIL: drop cascades to function foo1()
6161drop cascades to function foo2()
6262-- Clean up
6363RESET ROLE;
64- DROP OWNED BY regress_user1 ;
65- DROP USER regress_user1 ;
66- DROP USER regress_user2 ;
64+ DROP OWNED BY regress_plperl_user1 ;
65+ DROP USER regress_plperl_user1 ;
66+ DROP USER regress_plperl_user2 ;
6767-- Now install the versions that will be used by subsequent test scripts.
6868CREATE EXTENSION plperl;
6969CREATE EXTENSION plperlu;
0 commit comments