Ошибка при установке pg_partman и pg_squeeze с postgres 12 в ubuntu 18

У меня есть выделенный сервер (ubuntu 18) для базы данных, на котором установлены postgres 10,11 и 12. В настоящее время я использую postgres 12. Я пытаюсь установить расширение pg_partman и pg_squeeze на postgres 12.

Я загрузил репозиторий git в / etc / pg_parman. Когда я запускаю команду "sudo make" я получаю ошибку ниже.

      gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer -fPIC -I. -I./ -I/usr/include/postgresql/12/server -I/usr/include/postgresql/internal  -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/mit-krb5  -c -o src/pg_partman_bgw.o src/pg_partman_bgw.c
src/pg_partman_bgw.c:10:10: fatal error: postgres.h: No such file or directory
 #include "postgres.h"
          ^~~~~~~~~~~~
compilation terminated.
<builtin>: recipe for target 'src/pg_partman_bgw.o' failed
make: *** [src/pg_partman_bgw.o] Error 1

После некоторых поисков я обнаружил, что postgresql-server-dev-12 требуется, однако, когда я пытаюсь установить этот пакет, я получаю ошибки.

      > sudo apt install postgresql-server-dev-12

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 postgresql-server-dev-12 : Depends: clang-6.0 but it is not installable
                            Depends: llvm-6.0-dev but it is not installable
E: Unable to correct problems, you have held broken packages.

Я также перешел с «программное обеспечение и обновления» на «загрузку с главного сервера». Я читал, что если я удалю все пакеты postgres, а затем снова их установлю, то, возможно, я смогу загрузить postgresql-server-dev-12. Но я не хочу удалять postgres 12, так как он также может удалить базу данных, размер которой превышает 100 ГБ.

Я вижу, что у многих пользователей возникает эта проблема. Любая помощь в этом отношении будет оценена. Спасибо

1 ответ

Итак, после долгой борьбы с этой проблемой я наконец нашел решение. На самом деле это связано с тем, что Linux не обновляется должным образом. Мое apt-обновление выдавало ошибку, поэтому мне пришлось сначала очистить его.

      sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update

// Then try to install postgres-server-dev-12 again
sudo apt-get install postgresql-server-dev-12
Другие вопросы по тегам