Перейти к содержимому

Как подключиться к базе данных postgresql

  • автор:

Работаем с PostgreSQL через командную строку в Linux

Для подключения к базе данных PostgreSQL понадобится установленный PostgreSQL клиент:

sudo apt install postgresql-client-

sudo apt install postgresql-client-12

Для установки PostgreSQL сервера:

sudo apt install postgresql

Проверим, можем ли мы подключиться к базе данных PostgreSQL:

sudo -u postgres psql -c "SELECT version();"

Вывод команды должен быть примерно таким:

$ sudo -u postgres psql -c "SELECT version();" version ---------------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 10.10 (Ubuntu 10.10-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit (1 row)

PostgreSQL Подключение, Пользователи (Роли) и Базы Данных

Логин в только что установленный postgreSQL сервер нужно производить под именем пользователя postgres:

sudo -i -u postgres psql

Выйти из клиента PostgreSQL:
\q

Для подключения к базе данных PostgreSQL можно использовать команду:

psql -U -h -d

Если такая команда не просит ввести пароль пользователя, то можно еще добавить опцию -W.

$ psql -Usrv161924_dom -hpgsql-161924.srv.hoster.ru -dsrv161924_dom -W Password for user srv161924_dom:

После ввода пароля и успешного подключения к базе данных PostgreSQL, можно посылать SQL-запросы и psql-команды.

PostgreSQL создание новой роли и базы данных

Создать новую роль c именем admin (указывайте нужное имя):

sudo su - postgres -c "createuser admin"

Создание новой базы данных:

sudo su - postgres -c "createdb testDb"

Дать права роли на базу данных:

grant all privileges on database testDb to admin;

Включить удаленный PostgreSQL доступ для пользователей

Нам нужно отредактировать файл /etc/postgresql//main/pg_hba.conf, задав опцию md5 вместо peer.

может быть 10, 11, 12 и т.д.

sudo vim /etc/postgresql/12/main/pg_hba.conf

После этого сделать restart PostgreSQL:

sudo service postgresql restart

Полезные команды PostgreSQL

Выйти из клиента PostgreSQL:

\q

Показать список баз данных PostgreSQL:

\l

Показать список таблиц:

\dt

Показать список пользователей (ролей):

\du

Показать структуру таблицы:

\d table_name

Переименовать базу данных:

ALTER DATABASE db RENAME TO newdb;

Удалить базу данных:

drop database db_name;

Изменить текущую базу данных в PostgreSQL (вы не сможете переименовать или удалить текущую базу данных):

\connect db_name или более короткий alias: \c db_name

Удалить роль (пользователя):

DROP ROLE user_name;

Роль не будет удалена, если у нее есть привелегии — возникнет ошибка ERROR: role cannot be dropped because some objects depend on it .

Нужно удалить привелегии у роли, например если нужно удалить роль admin2, нужно выполнить последовательность комманд с Drop Owned:

db=# REASSIGN OWNED BY admin2 TO postgres; REASSIGN OWNED db=# DROP OWNED BY admin2; DROP OWNED db=# drop role admin2; DROP ROLE

Дать права пользователю/роли на логин ( role is not permitted to log in ):

ALTER ROLE admin2 WITH login;

Выбор shema psql в консоли:

Посмотреть список всех схем:

Подключиться к конкретной схеме:

SET search_path TO schema_name

Sequences

Получить имена всех созданных sequences:

select relname from pg_class where relkind='S';

Получить последнее значение sequence, которые будет присвоено новой вставляемой в таблицу записи:

SELECT last_value FROM order_id_seq;
  • Работа с MySQL через консоль

Подключение к базе данных PostgreSQL

В этом разделе описывается, как подключиться к базе данных PostgreSQL.

На этой странице

  • Базовое подключение
  • Подключение с помощью SSL-сертификата

Для подключения к экземпляру БД можно использовать клиентский psql для базового подключения или SSL-соединения. Рекомендуется использовать SSL-соединение.

Для подключения необходимы:

  • Привязанный к экземпляру БД внешний IP-адрес.
  • Установленный клиент PostgreSQL psql на ECS.

Базовое подключение

  1. Подключитесь к экземпляру виртуальной машины ECS , где развернут экземпляр RDS.
  2. Запустите следующую команду для подключения к базе данных RDS:
psql --no-readline -U user> -h host> -p port> -d datastore> -W 
  • -U — имя пользователя экземпляра базы данных RDS. По умолчанию — root .
  • -h — IP-адрес экземпляра первичной БД. Получить этот IP-адрес можно на странице Instance Management , нажав на название экземпляра БД.
  • через ECS, то IP-адрес можно найти на вкладке Basic Information разделе Connection Information → Floating IP Address .
  • через EIP, то адрес IP будет располагаться на вкладке EIPs .
  • -p — использующийся порт для базы данных. По умолчанию значение порта — 5432. Номер порта можно получить на странице Instance Management , нажав на нужный экземпляр RDS и перейдя в раздел Connection Information → Database Port .
  • -d — название БД. По умолчанию название будет «postgres».
  • -W — запрос пароля, который нужно будет указать при подключении. После запуска этой команды будет запрашиваться пароль.
psql --no-readline -U root -h 192.168.0.44 -p 5432 -d postgres -W 

Подключение с помощью SSL-сертификата

  1. Войдите в консоль управления Advanced.
  • Инструкция по входу с помощью личного кабинета Cloud.ru
  • Инструкция по входу в консоль для IAM-пользователей

Запустите команду для подключения к экземпляру. В нашем примере используется команда для Linux:

psql --no-readline -h host> -p port> "dbname= user= sslmode=verify-ca sslrootcert=" 

-h — IP-адрес экземпляра первичной БД. Получить этот IP-адрес можно на странице Instance Management , нажав на название экземпляра БД.

Если подключение осуществляется:

  • через ECS, то IP-адрес можно найти на вкладке Basic Information разделе Connection Information → Floating IP Address .
  • через EIP, то адрес IP будет располагаться на вкладке EIPs .

Например, чтобы подключиться к экземпляру базы данных через SSL-соединение от имени пользователя root, выполните следующую команду:

psql --no-readline -h 192.168.0.44 -p 5432 "dbname=postgres user=root sslmode=verify-ca sslrootcert=/root/ca.pem" Password: 

Если успешно установлено SSL-соединение, то отобразится сообщение:

SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) 

Как подключиться к базе данных PostgreSQL?

Для доступа к PostgreSQL используйте один из способов:

  • через сервис NAT Gateway , находящийся в той же подсети (subnet), что и база данных. Необходимо назначить шлюзу внешний IP-адрес и открыть порт базы данных TCP:5432. После этого можно будет подключиться к базе данных по этому IP-адресу и порту.
  • через ECS с помощью консольного клиента psql или графического клиента pgAdmin.
  • через сервис Data Admin Service .
  • Создание EIP .
  • Прикрепление EIP к экземпляру БД .
  • Подключение к экземпляру БД PostgreSQL .

Была ли статья полезной?

© Авторские права 2023, Cloud.ru

Собрано при помощи Sphinx с использованием темы, предоставленной Read the Docs.

Подключение к PostgreSQL из ArcGIS

В следующем списке собраны шаги, которые необходимы для подключения ArcGIS к базе данных PostgreSQL , включая базу данных, содержащую многопользовательскую базу геоданных:

  • Убедитесь, что имя базы данных соответствует требованиям ArcGIS.
  • Убедитесь, что PostgreSQL принимает подключения от клиентских компьютеров ArcGIS, которым нужен доступ.
  • Создайте подключение к базе данных.
  • Для публикации веб-сервисов ArcGIS Server , ссылающихся на данные в вашей базе данных PostgreSQL , зарегистрируйте файл подключения к базе данных с сайтами ArcGIS Server .

Файлы клиента PostgreSQL устанавливаются вместе с ArcGIS Pro и ArcGIS Server ; вам не нужно устанавливать PostgreSQL или настраивать переменные среды для доступа к клиенту.

Настройка базы данных на прием подключений

По умолчанию только клиенты, работающие на том же компьютере, что и кластер базы данных PostgreSQL , могут подключаться к нему. Чтобы разрешить подключение к кластеру базы данных удаленных клиентов и управлять, к каким базам данных у них есть доступ, измените файл конфигурации PostgreSQL pg_hba.conf . Записи, которые вы размещаете в файле pg_hba.conf , будут отличаться в зависимости от политик безопасности и конфигураций на вашем сайте.

Подключение к базе данных

Вы можете использовать диалоговое окно Подключение базы данных в ArcGIS Pro для подключения к базе данных, как это описано ниже.

Либо вы можете запустить инструмент Создать подключение базы данных в ArcGIS Pro , либо использовать Python для запуска команды Create Database Connection с компьютера ArcGIS Server для создания файла подключения базы данных ( .sde ), который подключается к базе данных.

Для использования файла подключения базы данных с ArcGIS Server , вам нужно сохранить информацию о пользователе в файле подключения.

Если вы будете использовать аутентификацию средствами операционной системы, убедитесь, что PostgreSQL может проверить подлинность учетной записи ArcGIS Server .

Подсказка:

Убедитесь, что учетная запись, которая используется для подключения, имеет соответствующие права в базе данных на данные, к которым необходим доступ. Если подключение использует аутентификацию на уровне операционной системы и вы будете публиковать веб-сервисы с помощью этого подключения, убедитесь, что у учетной записи ArcGIS Server есть необходимые права на данные, которые входят в этот веб-сервис. Cм. разделы Права доступа для баз геоданных в PostgreSQL или Права доступа для использования ArcGIS с базой данных PostgreSQL для получения подробной информации о правах для различных типов пользователей баз данных.

Следуйте инструкциям ниже для подключения к базе данных PostgreSQL из диалогового окна Подключение базы данных в ArcGIS Pro :

  1. Откройте панель Каталог в ArcGIS Pro .
  2. Щелкните правой кнопкой Базы данных и выберите Новое подключение к базе данных .
  3. В раскрывающемся списке Платформа базы данных выберите PostgreSQL .
  4. В поле Экземпляр введите имя кластера базы данных или IP-адрес сервера, на котором установлен PostgreSQL .

Например, если кластер вашей базы данных PostgreSQL называется ficus , введите ficus в текстовом поле Экземпляр . При задании IPV6-адреса заключите адрес в квадратные скобки. Например, если IPV6-адрес сервера 1111:aa1:0:1:f111:a222:33f3:b4bb, введите [1111:aa1:0:1:f111:a222:33f3:b4bb] в текстовом окне Экземпляр . Больше примеров, включая примеры подключения к сервисам баз данных PostgreSQL , см. в разделе Подключения абзы данных в ArcGIS Pro .

Примечание:

Если кластер вашей базы данных PostgreSQL использует порт, отличный от заданного по умолчанию (5432), включите номер порта в экземпляр. Например, если PostgreSQL установлен на сервере mamabear и использует порт 49200, введите mamabear,49200 в текстовом поле Экземпляр .

  • Если вы выберете Аутентификация средствами операционной системы , вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля интерфейса провайдера безопасности (SSPI) или упрощенного протокола доступа к каталогам (LDAP), которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не сопоставлено с корректным именем пользователя базы данных, подключение не будет установлено.
  • Если вы выбираете Аутентификация в базе данных , вы должны ввести корректные имя пользователя и пароль в текстовых полях Имя пользователя и Пароль соответственно. Имена пользователей могут иметь длину не более 30 символов. Снимите отметку с опции Сохранять имя пользователя и пароль , если вы предпочитаете не сохранять свои данные для входа в качестве части соединения; такие действия помогут обеспечить безопасность базы данных. Однако в этом случае при каждом подключении вы должны будете вводить имя пользователя и пароль.
Примечание:

Опция Сохранять имя пользователя и пароль должна быть включена для файлов подключения, обеспечивающих сервисам ArcGIS доступ к базе данных, либо, если вы хотите найти данные ArcGIS Pro , полученные через этот файл подключения.

Подключение к базе данных появляется в разделе Базы данных на панели Каталог , а файл подключения ( .sde ) создается в директории проекта ArcGIS Pro .

Вы можете переименовать файл, указав новое имя на панели Каталог и нажав Enter .

Зарегистрировать подключение к ArcGIS Enterprise

Чтобы разрешить доступ сайта ArcGIS Server к данным, используйте созданный файл подключения для добавления зарегистрированного источника данных в ArcGIS Pro или добавления элемента хранилища данных на портал.

Для регистрации подключения с использованием аутентификации операционной системы требуется ArcGIS Enterprise версии 11.1 или более поздней. Учетная запись ArcGIS Server , используемая для запуска ArcGIS Server , должна быть именем SSPI или LDAP, сопоставленным с ролью учетной записи в PostgreSQL . Этой роли учетной записи должны быть предоставлены права доступа к таблицам, которые будут опубликованы из базы геоданных или базы данных PostgreSQL .

В этом разделе
  1. Настройка базы данных на прием подключений
  2. Подключение к базе данных
  3. Зарегистрировать подключение к ArcGIS Enterprise

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *