← Все статьи

PostgreSQL: could not open extension control file hstore.control — решение

Автор: Юрий Нефёдов, системный инженер · 22.11.2021 · обновлено 24.10.2026

При попытке подключить расширение hstore:

create extension hstore WITH SCHEMA schema_name;

PostgreSQL возвращает ошибку:

ERROR: could not open extension control file "/usr/pgsql-11/share/extension/hstore.control": No such file or directory

Причина

hstore, как и многие другие стандартные расширения (pg_stat_statements, pgcrypto, uuid-ossp), поставляется в отдельном пакете contrib. Если он не установлен, файлов расширения на сервере просто нет.

Решение

В CentOS, RHEL и производных установите пакет contrib. Для PostgreSQL из репозитория PGDG имя пакета содержит номер версии, в примере — 11:

sudo yum install postgresql-contrib
sudo yum install postgresql11-contrib

В Debian и Ubuntu, начиная с PostgreSQL 10, расширения contrib входят в основной пакет сервера, поэтому такая ошибка там встречается редко.

После установки повторите create extension. Список подключённых расширений в psql показывает команда \dx.

Нужна помощь с настройкой?

Если задача сложнее, чем в статье, напишите мне. Первая консультация бесплатная.