Где я могу получить исходный код libpq?

Я хочу написать приложение, которое использует Postgresql в качестве СУБД. Для написания клиентского приложения мне нужны библиотека libpq и файлы заголовков? Если да, то где я мог бы получить библиотеку libpq и заголовочные файлы.

8 ответов

Решение

Libpq включен в полный исходный код PostgreSQL. Вы можете использовать только libpq без остальной части PostgreSQL, но вы должны загрузить полный пакет.

Вы можете скачать его со страницы Загрузки PostgreSQL.

После того, как вы извлечете полный пакет, он находится внутри src\interfaces\libpq,

В руководстве по установке PostgreSQL подробно описано, как установить только клиентские библиотеки в разделе " Установка" в разделе "Установка только для клиента".

Libpq документация также доступна.

В источниках postgresql src\interfaces\libpq.

И да, можно скомпилировать только libpq.

Я понятия не имею о файле заголовка, но вы можете получить lipq из репо, если вы используете debian:

sudo apt-get install libpq-dev

Я также столкнулся с этой проблемой, но не получил четкого ответа: в
этой проблеме четко указано, что при установке системы diesel-cli не удается найтиlibpq.lib

Прежде всего, на вашем компьютере должен быть установлен Postgre.
Также дизель требует визуального C++, поэтому загрузите и установите его, если он еще не установлен, размер установки будет ~5 ГБ.
После завершения установки, описанной выше, вам необходимо настроить переменные среды:

В моем случае путь установки postgres - C:\Program Files\PostgreSQL таким образом добавьте 2 пути переменной среды в User variables добавить новое в Path где твой libpq.lib в моем случае он доступен в обоих C:\Program Files\PostgreSQL\12\lib а также C:\Program Files\PostgreSQL\12\bin

Как только это будет добавлено, создайте еще одну переменную среды PQ_LIB_DIR и установите путь, как показано ниже

Примечание. После этого повторно запустите команду установки в новом окне cmd.
Источник: pq-sys и github-solution.

Для пользователей Windows он в (версия может быть другой)

 C:\Program Files\PostgreSQL\11\lib

Там вы найдете libpq.lib. Предоставьте этот каталог входу компоновщика. Не забудьте включитьC:\Program Files\PostgreSQL\11\include каталог для включаемых каталогов.

Вы можете установить Postgres локально с https://www.enterprisedb.com/downloads/postgres-postgresql-downloads , но выберите для установки только «Инструменты командной строки».

После этого вы можете найти libpq.dll в C:\Program Files\PostgreSQL\15\bin

Я исправил эту проблему недавно. Это решение, если вы не хотите устанавливать Postgres в Windows.

Сначала вам нужно скачать бинарные файлы Postgres . Я скачиваю версию 13.6, но вроде любая версия подойдет.

Разархивируйте zip-файл. Скопируйте libpq.libиз pgsql\libкуда-то вроде C:\Program Files\Postgres\lib.

Выполните следующую команду в окне cmd.

      setx PQ_LIB_DIR "{where_you_copy_to}"

Откройте новый cmd windows и установите diesel_cli

      cargo install diesel_cli --no-default-features --features postgres

В Linux Verify вы получаете файл libpq.
Во-первых, есть приложение: pg_config: https://www.postgresql.org/docs/current/app-pgconfig.html
после того, как вы узнали абсолютный путь к бину pg_config (если вы установили несколько версий postgressql). Затем вы можете получать

      --includedir
    Print the location of C header files of the client interfaces.
--libdir
    Print the location of object code libraries.

Затем попробуйте скомпилировать/создать некоторый пример кода: https://www.postgresql.org/docs/current/libpq-example.html Пример распространенного сбоя: https://www.postgresql.org/docs/current/libpq-build.html

Другие вопросы по тегам