Подключение и конфигурирование

В рамках данного руководства среда будет подготовлена к разработке приложения:
  • на языке C++, с использованием компилятора gcc и интерфейсной библиотеки libpqxx;
  • на языке Java с использованием библиотеки JDBC.
Эти языки, компилятор и библиотеки выбраны в качестве примера, разработчик может использовать любые доступные ему комбинации инструментов.

Подготовка удаленной машины к подключению

Для начала необходимо разрешить удаленные подключения напрямую к Компоненту. Для этого нужно отредактировать файлы конфигурации.
Сделайте резервные копии файлов конфигурации (postgresql.conf и pg_hba.conf). Для этого от имени пользователя Postgres выполните:
cp $PGDATA/postgresql.conf $PGDATA/postgresql.conf.backup
cp $PGDATA/pg_hba.conf $PGDATA/pg_hba.conf.backup
$PGDATA - параметр, который отвечает за расположение директории с хранимыми данными.
Резервные копии файлов конфигурации всегда можно восстановить. Чтобы восстановить файлы, выполните:
cp $PGDATA/postgresql.conf.backup $PGDATA/postgresql.conf
cp $PGDATA/pg_hba.conf.backup $PGDATA/pg_hba.conf
  1. На виртуальной машине от имени пользователя Postgres откройте файл postgresql.conf, найдите в нем параметр listen_addresses и установите значение равным *. Это позволит принимать запросы с любого IP-адреса.
    Чтобы открыть файл postgresql.conf, выполните в консоли команду:
    vim $PGDATA/postgresql.conf
    Для тех, кто не знаком с редактором Vim, ниже описаны основные действия:
    • начать редактирование файла — нажмите I;
    • выйти из режима редактирования — нажмите Esc;
    • сохранить файл и выйти из редактора — нажмите Esc, введите :wq и нажмите Enter;
    • выйти из редактора без сохранения файла — нажмите Esc, введите :q! и нажмите Enter;
    • выйти из редактора — нажмите Esc, введите :q и нажмите Enter.
  2. От имени пользователя Postgres откройте файл pg_hba.conf и добавьте в него следующие строки:
    host all all 0.0.0.0/0 md5
    host all all ::/0 md5
    
  3. Перезапустите Компонент. От имени администратора ОС выполните:
    sudo service postgresql stop
    sudo service postgresql start
    
В результате после проведенных действий, к СУБД можно подключаться удаленно напрямую.

Подготовка к разработке приложения на языке С++

Для разработки приложения на языке С++:
  1. Установите gcc (компилятор языка C, который потребуется для сборки компонентов среды разработки и для компиляции непосредственно программ на языке C).
    Чтобы установить gcc, выполните в терминале:
    sudo apt-get install gcc
  2. Установите libpq-dev. Пакет libpq-dev содержит заголовочные файлы и статическую библиотеку для компиляции программ на языке C с использованием библиотеки libpq, которая отвечает за взаимодействие с серверной частью Компонента.
    sudo apt-get install libpq-dev
  3. Установите libpqxx. В этом руководстве для разработки первого приложения будет использоваться open-source библиотека libpqxx - официальный C++ API для PostgreSQL, полностью совместимый с Компонентом.
    1. Загрузите и установите актуальную версию libpqxx. Для этого выполните в терминале:
      wget http://pqxx.org/download/software/libpqxx/libpqxx-4.0.tar.gz
      tar xvfz libpqxx-4.0.tar.gz
      cd libpqxx-4.0
      ./configure
      make
      make install
      
    2. Откройте файл pg_hba.conf в директории Компонента и добавьте в него следующую строку:
      ## IPv4 local connections:
      host    all         all         127.0.0.1/32          md5
      
    3. Перезапустите Компонент:
    [root@host]# service postgresql restart
    Stopping postgresql service:                               [  OK  ]
    Starting postgresql service:                               [  OK  ]
    

Подготовка к разработке приложения на языке Java

Для разработки прилодения на языке Java установите JDBC.
JDBC — это библиотека Java для работы с базами данных, включая PostgreSQL и Pangolin. Загрузите актуальную версию и поместите файл в папку на вашем компьютере, в которой вы будете писать код.
Предыдущий раздел
1.1 Транзакционная СУБД (Цифровой продукт Тип 2)
Следующий раздел
Быстрый старт для С++
Была ли страница полезной?