Etherpad — ошибка PostgreSQL: язык plpgsql не существует

Я установил Etherpad lite и попытался использовать его с базой данных PostgreSQL, но получил эту ошибку:

events.js:72
        throw er; // Unhandled 'error' event
              ^
error: language "plpgsql" does not exist
    at Connection.parseE (/opt/openerp/etherpad/etherpad-lite/src/node_modules/$
    at Connection.parseMessage (/opt/openerp/etherpad/etherpad-lite/src/node_mo$
    at Socket.<anonymous> (/opt/openerp/etherpad/etherpad-lite/src/node_modules$
    at Socket.EventEmitter.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:746:14)
    at Socket.EventEmitter.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:408:10)
    at emitReadable (_stream_readable.js:404:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at Socket.Readable.push (_stream_readable.js:127:10)
RESTART!

На других серверах у меня не было такой проблемы при использовании PostgreSQL с Etherpad. Я создал базу данных с помощью этой команды:

crate database etherpad WITH TEMPLATE template0;

Моя конфигурация в etherpad такая:

"dbType" : "postgres",
   "dbSettings" : {
                    "user"    : "db_user",
                    "host"    : "localhost",
                    "password": "my_password",
                    "database": "etherpad"
                  },

Все остальное осталось без изменений, кроме того, что я прокомментировал грязные настройки БД. P.S. с грязной БД это работает.


person Andrius    schedule 15.10.2013    source источник
comment
(1) Какая версия PostgreSQL? (2) Почему вы использовали template0, а не template1 в качестве шаблона базы данных? (3) У вас есть язык plpgsql в базе данных etherpad или template0? (4) Это в template1? (5) Остались ли у вас вопросы после того, как вы все это узнали?   -  person Richard Huxton    schedule 15.10.2013
comment
Спасибо. по какой-то причине этого языка не существовало в базе данных, поэтому мне пришлось создать его вручную (даже с помощью template1). Так я думаю в PosgreSQL 8.4 он не создаётся по умолчанию как в более новых версиях?   -  person Andrius    schedule 15.10.2013
comment
Действительно нет. Если вы намерены использовать старые версии программного обеспечения, вам придется потратить некоторое время на прочтение руководств. О, поддержка PG v8.4 заканчивается в июле следующего года: postgresql.org/support/versioning   -  person Richard Huxton    schedule 15.10.2013


Ответы (1)


Если вы используете версию 9.1 и ниже, вам следует CREATE LANGUAGE plpgsql использовать шаблон1, а затем создать базу данных на основе этого шаблона. Этого не должно происходить или быть обязательным для PostgreSQL 9.2 и более поздних версий.

person Chris Travers    schedule 28.11.2013