Не удается использовать uuid и создать расширение для его использования

Я хочу использовать uuid в Postgresql 9.2 на Ubuntu 13. Поэтому, когда я попытался проверить, доступен ли он или нет, я сделал:

select uuid_generate_v4() as one;

и это дало мне ERROR: function uuid_generate_v4() does not exist

тогда я сделал CREATE EXTENSION "uuid-ossp";

ERROR:  could not open extension control file "/usr/share/postgresql/9.2/extension/uuid-ossp.control": No such file or directory

Ну, что мне делать дальше?

кстати, SELECT * FROM pg_available_extensions; возвращает plpsql (1.0) только.

3 ответов


пакет операционной системы, содержащий расширение, не установлен. Чтобы установить его:

apt-get install postgresql-contrib-9.2

для тех, кто с помощью менеджер версий asdf С ASDF-postgres плагин, установка версий postgres следующим образом устраняет эту проблему:

POSTGRES_EXTRA_CONFIGURE_OPTIONS=--with-uuid=e2fs asdf install postgres <VERSION>

Если вы все еще получаете ошибку, попробуйте вручную запустить два файла SQL внутри /usr/share/postgresql/9.X/extension/uuid-ossp*.sql в базу данных