pg_dump 7.4 bug - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject pg_dump 7.4 bug
Date
Msg-id 4068431B.1050701@familyhealth.com.au
Whole thread Raw
Responses Re: pg_dump 7.4 bug
Re: pg_dump 7.4 bug
List pgsql-hackers
If you do this sequence of events, you get a failure to restore:

1. As superuser, do this:

test2=# CREATE FUNCTION plpgsql_call_handler () RETURNS language_handler
test2-#     AS '$libdir/plpgsql.so', 'plpgsql_call_handler'
test2-#     LANGUAGE c;
CREATE FUNCTION

2. Drop privs.

test2=# alter user chriskl with nocreateuser;

So, now we're a regular joe user.

3. pg_dump now gives this:

SET SESSION AUTHORIZATION 'chriskl';

SET search_path = public, pg_catalog;

--
-- TOC entry 37 (OID 853309)
-- Name: plpgsql_call_handler(); Type: FUNC PROCEDURAL LANGUAGE; Schema: 
public; Owner: chriskl
--

CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler    AS '$libdir/plpgsql.so', 'plpgsql_call_handler'
LANGUAGEc;
 

4. Now, trying to restore this as the joe user gives:

test2=> CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler
test2->     AS '$libdir/plpgsql.so', 'plpgsql_call_handler'
test2->     LANGUAGE c;
ERROR:  permission denied for language c

This caused me pain in the 7.4 upgrade I just performed...

Chris


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Fuzzy cost comparison to eliminate redundant planning
Next
From: Tom Lane
Date:
Subject: Re: Row sampling..