Thread: create (or replace) language

create (or replace) language

From
Michal Kozusznik
Date:
While performing db dump (from postgresql 8.4), pgAdmin stores CREATE 
LANGUAGE in following way:

CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql;

This syntax is not compatible with postgresql 8.4
OR REPLACE has been added in v9.0

Reference
http://www.postgresql.org/docs/8.4/static/sql-createlanguage.html

Also "PROCEDURAL" keyword does nothing and may be skipped.

tested with pgAdmin 1.14.0, 1.14.2, 1.14.3
on postgresql 8.4


Re: create (or replace) language

From
Dave Page
Date:


On Mon, Jun 18, 2012 at 4:09 PM, Michal Kozusznik <kozusznik.michal@ifortuna.cz> wrote:
While performing db dump (from postgresql 8.4), pgAdmin stores CREATE LANGUAGE in following way:

CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql;

This syntax is not compatible with postgresql 8.4
OR REPLACE has been added in v9.0


pgAdmin doesn't create the dump file - it just calls pg_dump. Make sure you have the correct version of pg_dump in the directory pointed to by the PG Bin Path setting on File -> Options dialog.


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: create (or replace) language

From
Michal Kozusznik
Date:
Yes, I should know it. thank you.

There are a few sentences about pg_dump syntax compatibility from
postgresql documentation:

Because pg_dump is used to transfer data to newer versions of
PostgreSQL, the output of pg_dump can be expected to load into
PostgreSQL server versions newer than pg_dump's version. pg_dump can
also dump from PostgreSQL servers older than its own version.
(Currently, servers back to version 7.0 are supported.) However, pg_dump
cannot dump from PostgreSQL servers newer than its own major version; it
will refuse to even try, rather than risk making an invalid dump. Also,
it is not guaranteed that pg_dump's output can be loaded into a server
of an older major version — not even if the dump was taken from a server
of that version. Loading a dump file into an older server may require
manual editing of the dump file to remove syntax not understood by the
older server.

>
> pgAdmin doesn't create the dump file - it just calls pg_dump. Make
> sure you have the correct version of pg_dump in the directory pointed
> to by the PG Bin Path setting on File -> Options dialog.
>