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,18 +16,18 @@ 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"
2727HINT: Must be superuser to create this extension.
2828CREATE SCHEMA plperl_setup_scratch;
2929SET search_path = plperl_setup_scratch;
30- GRANT ALL ON SCHEMA plperl_setup_scratch TO regress_user2 ;
30+ GRANT ALL ON SCHEMA plperl_setup_scratch TO regress_plperl_user2 ;
3131CREATE FUNCTION foo1() returns int language plperl as '1;';
3232SELECT foo1();
3333 foo1
@@ -38,23 +38,23 @@ SELECT foo1();
3838-- Must reconnect to avoid failure with non-MULTIPLICITY Perl interpreters
3939\c -
4040SET search_path = plperl_setup_scratch;
41- SET ROLE regress_user1 ;
41+ SET ROLE regress_plperl_user1 ;
4242-- Should be able to change privileges on the language
4343revoke all on language plperl from public;
44- SET ROLE regress_user2 ;
44+ SET ROLE regress_plperl_user2 ;
4545CREATE FUNCTION foo2() returns int language plperl as '2;'; -- fail
4646ERROR: permission denied for language plperl
47- SET ROLE regress_user1 ;
48- grant usage on language plperl to regress_user2 ;
49- SET ROLE regress_user2 ;
47+ SET ROLE regress_plperl_user1 ;
48+ grant usage on language plperl to regress_plperl_user2 ;
49+ SET ROLE regress_plperl_user2 ;
5050CREATE FUNCTION foo2() returns int language plperl as '2;';
5151SELECT foo2();
5252 foo2
5353------
5454 2
5555(1 row)
5656
57- SET ROLE regress_user1 ;
57+ SET ROLE regress_plperl_user1 ;
5858-- Should be able to drop the extension, but not the language per se
5959DROP LANGUAGE plperl CASCADE;
6060ERROR: cannot drop language plperl because extension plperl requires it
@@ -65,9 +65,9 @@ DETAIL: drop cascades to function foo1()
6565drop cascades to function foo2()
6666-- Clean up
6767RESET ROLE;
68- DROP OWNED BY regress_user1 ;
69- DROP USER regress_user1 ;
70- DROP USER regress_user2 ;
68+ DROP OWNED BY regress_plperl_user1 ;
69+ DROP USER regress_plperl_user1 ;
70+ DROP USER regress_plperl_user2 ;
7171-- Now install the versions that will be used by subsequent test scripts.
7272CREATE EXTENSION plperl;
7373CREATE EXTENSION plperlu;
0 commit comments