Я пытаюсь использовать PostgreSQL с книгой "Семь баз данных за семь недель". Я использую PostgreSQL 8.4.1 на сервере Ubuntu 10.04.
Первой задачей является создание базы данных с именем "книга" и проверка правильности установки пакетов Contrib.
$ createdb book
$ psql book -c "SELECT '1'::cube;"
Когда я делаю это, я получаю следующий вывод:
ERROR: type "cube" does not exist
LINE 1: SELECT '1'::cube;
Я уже установил куб-пакет со следующей командой:
$ sudo -u postgres psql postgres < /usr/share/postgresql/8.4/contrib/cube.sql
Я попытался перезапустить PostgreSQL, но проблема не устранена. Когда я попытался запустить импорт пакета во второй раз, я получил следующее сообщение, в котором явно указано, что type "cube" already exists
:
SET
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
ERROR: type "cube" already exists
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
ERROR: operator < already exists
ERROR: operator > already exists
ERROR: operator <= already exists
ERROR: operator >= already exists
ERROR: operator && already exists
ERROR: operator = already exists
ERROR: operator <> already exists
ERROR: operator @> already exists
ERROR: operator <@ already exists
ERROR: operator @ already exists
ERROR: operator ~ already exists
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
ERROR: operator class "cube_ops" for access method "btree" already exists
ERROR: operator class "gist_cube_ops" for access method "gist" already exists
Итак, что я делаю неправильно?