ERROR: error de sintaxis en o cerca de «EXTENSION»
LÍNEA 1: CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalo...
Y no creará las funciones que dependan de este lenguaje.
Ahora PostgreSql introdujo el comando CREATE EXTENSION para reemplazar varias tareas. Este comando no existe en las versiones anteriores a la 9.1, pero si no observamos más errores, corregirlo es sencillo: editamos nuestro archivo de backup y eliminamos las siguientes líneas:
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
Y las reemplazamos por la siguiente:
CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL';
Y listo! Claro está que ésto sólo corregirá el error para PL/pgSQL y si tenemos más problemas de compatibilidad con CREATE EXTENSION habrá que buscar la solución para cada uno de ellos.