Поддерживаемые клиентские приложения ==================================== Пользователи могут подключаться к базе данных **ADB** с помощью различных клиентских приложений: * Ряд клиентских приложений **ADB** предоставляется с установщиком. Клиентское приложение *psql* предоставляет интерфейс командной строки; * Используя стандартные интерфейсы приложений баз данных, такие как **ODBC** и **JDBC**, пользователи могут создавать свои собственные клиентские приложения, взаимодействующие с базой данных **ADB**. Поскольку СУБД **ADB** основана на **PostgreSQL**, она использует стандартные драйверы баз данных **PostgreSQL**. + с **ADB 5** совместимы **ODBC** и **JDBC** драйвера для PostgreSQL 8.3.0 или выше. + с **ADB 6** совместимы **ODBC** и **JDBC** драйвера для PostgreSQL 9.4.24 или выше. * Большинство сторонних клиентских инструментов, которые используют стандартные интерфейсы базы данных, такие как **ODBC** и **JDBC**, могут быть настроены для подключения к **ADB**. Клиентские приложения ADB (Client Tools) -------------------------- База данных **ADB** поставляется с несколькими клиентскими приложениями, расположенными в *$GPHOME/bin* главной хост-системы. В таблице перечислены наиболее часто используемые клиентские приложения. .. csv-table:: Клиентские приложения :header: "Имя", "Применение" :widths: 20, 25 "createdb", "Создать новую базу данных" "createlang", "Определить новый процедурный язык" "createuser", "Определить новую роль базы данных" "dropdb", "Удалить базу данных" "droplang", "Удалить процедурный язык" "dropuser", "Удалить роль" "PSQL", "Интерактивный терминал *PostgreSQL*" "reindexdb", "Переиндексировать базу данных" "vacuumdb", "Сбор мусора и анализ базы данных" При использовании клиентских приложений следует подключиться к базе данных с помощью инстанса мастера **ADB**. Необходимо узнать имя целевой базы данных, имя хоста и номер порта мастера, а также имя пользователя базы данных для подключения. Эта информация может быть предоставлена в командной строке с использованием опций ``-d``, ``-h``, ``-p`` и ``-U`` соответственно. Если находится аргумент, не принадлежащий ни одному из параметров, он интерпретируется как имя базы данных. Все эти параметры имеют значения по умолчанию, которые используются, если опция не указана. По умолчанию, хостом является локальный хост. Номер порта -- *5432*. Имя пользователя -- это имя пользователя системы ОС, как и имя базы данных по умолчанию. Следует обратить внимание, что имена пользователей ОС и имена пользователей **ADB** необязательно должны быть одинаковы. Если значения по умолчанию неверны, можно установить переменные *PGDATABASE*, *PGHOST*, *PGPORT* и *PGUSER* на соответствующие значения или использовать файл *psql~/.pgpass* для хранения часто используемых паролей. Клиентские утилиты загрузки данных в ADB (Loader Tools) -------------------------- Для некоторых операционных систем, для которых не поставляется серверная часть ADB, есть возможность установить клиентские утилиты загрузки данных в ADB: утилиты *gpfdist* и *gpload*. В данный момент в поставке ADB дополнительно присутствуют клиентские утилиты загрузки данных из следующих операционных систем: + Red Hat 8.5 Клиентская машина с приложениями для загрузки данных должна: + иметь сетевой доступ со всемт нодами Arenadata DB (мастер-нодой и сегмент-нодами). + иметь сетевой доступ к ETL-серверам, на которых лежат данные для загрузки. Для установки клиентских утилит загрузки данных в ADB надо скачать rpm-пакет ``gpdb-loaders-<Версия ADB>.rpm`` на клиентскую машину и установить через пакетный менеджер операционнной системы. Утилиты будут доступны из директории ``/usr/lib/gpdb/bin/``. Также потребуется применить файл ``/usr/lib/gpdb/greenplum_path.sh`` перед вызовом утилит загруки. Например, на Red Hat нужно запустить: :: $ source /usr/lib/gpdb/greenplum_path.sh Для работы *gpload* дополнительно требуется Python 2 версии 2.7 и выше с модулями *pyyaml*, *pygresql*. Подключение с помощью psql ---------------------------- В зависимости от используемых значений следующие примеры показывают, как получить доступ к базе данных через *psql*: :: $ psql -d gpdatabase -h master_host -p 5432 -U gpadmin $ psql gpdatabase $ psql Если пользовательская база данных еще не создана, можно получить доступ к системе, подключившись к базе данных *template1*. Например: :command:`$ psql template1` После подключения к базе данных *psql* предоставляет приглашение с именем базы данных, к которой в настоящее время подключен *psql*, а затем строковой тип ``=>`` (или ``= #`` для суперпользователя базы данных). Например: :command:`gpdatabase =>'` В командной строке можно вводить команды **SQL** для отправки на сервер и для выполнения, при этом каждая команда должна заканчиваться на знак ``;``. Например: :command:`=> SELECT * FROM mytable;` Интерфейсы приложений баз данных --------------------------------- Есть возможность разработки собственных клиентских приложений, взаимодействующих с **ADB**. **PostgreSQL** предоставляет ряд драйверов баз данных для наиболее часто используемых **API**, которые также могут использоваться с **ADB**. Эти драйверы не упакованы базовым дистрибутивом **ADB**. Каждый драйвер является независимым проектом разработки **PostgreSQL** и должен быть загружен, установлен и настроен для подключения к **ADB**. Доступные драйверы представлены в таблице. .. csv-table:: Интерфейсы базы данных :header: "API", "Драйвер PostgreSQL", "Ссылка для скачивания" :widths: 20, 25, 30 "ODBC", "pgodbc", "https://odbc.postgresql.org/" "JDBC", "pgjdbc", "https://jdbc.postgresql.org/" "Perl DBI", "pgperl", "http://gborg.PostgreSQL.org/project/pgperl" "Python DBI", "pygresql", "http://www.pygresql.org" Общие инструкции по доступу к **ADB** с помощью **API**: 1. Загрузить платформу и соответствующий **API** из источника. Например, можно получить Java-комплект разработчика (**JDK**) и **API JDBC** от **Sun**. 2. Записать клиентское приложение в соответствии со спецификациями **API**. При программировании приложения необходимо следить за тем, чтобы не был включен какой-либо неподдерживаемый синтаксис **SQL**. 3. Загрузить соответствующий драйвер **PostgreSQL** и настроить подключение к мастер-инстансу базы данных **ADB**. **ADB** предоставляет пакет клиентских инструментов, содержащий поддерживаемые драйверы. Инструменты сторонних клиентов ------------------------------- В большинстве сторонних средств **ETL** и бизнес-аналитики **BI** используются стандартные интерфейсы баз данных, такие как **ODBC** и **JDBC**. Их можно настроить для подключения к **ADB**, которая работает со следующими инструментами: + Business Objects; + Microstrategy; + Informatica Power Center; + Microsoft SQL Server Integration Services (SSIS) and Reporting Services (SSRS); + Ascential Datastage; + SAS; + Cognos. Квалифицированные специалисты **Arenadata** могут помочь пользователям в настройке выбранного стороннего инструмента для его использования с базой данных.