Postgresql как подключиться к базе данных с другой машины

Как настроить удаленное подключение к PostgreSQL

По умолчанию, сервер баз данных pgsql разрешает подключение только с локального компьютера. Данная инструкция показывает, как разрешить подключения с удаленных систем. Она написана на примере Linux CentOS и PostgreSQL 9.5.

Для начала посмотрим путь расположения конфигурационного файла postgresql.conf:

Команда выдаст, примерно, следующее:

* нас интересует строчка /db/pgsql/postgresql.conf — это путь расположения нужного нам конфигурационного файла.

Теперь открываем на редактирование основной файл конфигурации PostgreSQL:

* напоминаю, что начало пути /db/pgsql может быть другим. Мы его получили командой ps.

Находим и редактируем следующее:

* по умолчанию, параметр закомментирован и настроен на прослушивание запросов только с локального сетевого интерфейса. В данном примере мы разрешили прослушивание запросов на всех IP-адресах (*), но, если требуется более безопасная настройка, можно просто перечислить последние через пробел.

После открываем на редактирование следующий конфигурационный файл:

и внизу добавляем следующую строку:

host all all 192.168.0.10/32 password

* в данном примере мы разрешаем удаленные подключения к серверу с компьютера 192.168.0.10. Доступ предоставляется всем учетным записям и всем базам (значение all). При желании, вместо all можно указать конкретные данные для повышения безопасности.

Чтобы изменения вступили в силу, перезапускаем службу postgresql:

# systemctl restart postgresql-9.5

Проверить подключение можно с удаленного компьютера следующей командой:

* где 192.168.0.15 — IP-адрес сервера баз данных; usersql — имя учетной записи, от которой идет подключение.

Источник

Как настроить удаленное подключение к БД PostgreSQL из Windows

Настройка удаленного подключения к БД PostgreSQL 13 на сервере Ubuntu 18 LTS из ОС Windows 10 утилиты pgAdmin 4, двумя способами: подключение с помощью SSH туннеля и прямое подключение к серверу PostgreSQL.

💡 Я рекомендую использовать подключение через SSH туннель, простое в настройке и безопасное. При использовании SSH туннеля, порт PostgreSQL не открывается для внешних подключений.

pgAdmin — самая популярная и многофункциональная платформа для администрирования и разработки с открытым исходным кодом для PostgreSQL, самой совершенной базы данных с открытым исходным кодом в мире.

Официальный сайт pgAdmin

Узнать расположение файлов конфигурации PostgreSQL: postgresql.conf, pg_hba.conf.

Узнать порт PostgreSQL командой:

Postgresql как подключиться к базе данных с другой машины

В примере, файл конфигурации PostgreSQL располагается по пути /etc/postgresql/13/main/postgresql.conf, порт подключения 5432.

Содержание

SSH туннель к PostgreSQL

Подключение к серверу PostgreSQL с использованием SSH туннеля. При выборе такого типа подключения никаких дополнительных настроек на сервере PostgreSQL не требуется.

Настройка pgAdmin на Windows 10:

💡 В качестве ключа указываем приватный ключ id_rsa из Настройка SSH сертификатов на сервере. Как изменить порт SSH в Частые вопросы.

Postgresql как подключиться к базе данных с другой машиныНастройки pgAdmin для подключения через SSH туннель

Прямое подключение к PostgreSQL

Для настройки прямого подключения к PostgreSQL вносим изменения в файлы конфигурации postgresql.conf и pg_hba.conf

Настройка PostgreSQL

postgresql.conf

Файл postgresql.conf находится в папке установки PostgreSQL.

Раскомментируем или добавим строку:

Мы разрешили прослушивание запросов от всех IP-адресов.

Postgresql как подключиться к базе данных с другой машины

💡 Возможные варианты:
listen_addresses = ‘0.0.0.0’ чтобы слушать все IPv4;
listen_addresses = ‘::’ чтобы слушать все IPv6;
listen_addresses = ‘your.host.ip.adress’ определенный адрес или список адресов через запятую.

pg_hba.conf

Файл pg_hba.conf находится в папке установки PostgreSQL.

Открываем на редактирование:

Добавляем запись в секцию # IPv4 local connections:

Запись разрешает подключение к БД mybd пользователю postgres с IP адресом 41.223.232.15, используя пароль.

Postgresql как подключиться к базе данных с другой машины

После изменения файлов конфигурации, перезапустите службу PostgreSQL.

Настройка pgAdmin

Настройка прямого подключения к базе данных PostgreSQL через интернет или локальную сеть используя pgAdmin.

Частые вопросы

Как настроить удаленное подключение к БД PostgreSQL из Windows обсуждалось в этой статье. Я надеюсь, что теперь вы сможете настроить pgAdmin для подключения к PostgreSQL (прямое подключение или используя SSH туннель). Однако, если вы столкнетесь с каким-то проблемами при настройке сервера или pgAdmin, не стесняйтесь написать в комментариях. Я постараюсь помочь.

Источник

Подключение к базе данных PostgreSQL в Linux, Windows

Подключитесь к PostgreSQL из командной строки

Запуск программы интерактивного терминала PostgreSQL, называемой psql, которая позволяет в интерактивном режиме вводить, редактировать и выполнять команды SQL. Во время установки postgres в вашей операционной системе он создает «начальную БД» и запускает домен сервера postgres. Обычно initdb создает таблицу с именем «postgres», принадлежащую пользователю «текущий пользователь, вошедший в систему»

В командной строке вашей операционной системы введите следующую команду.

Windows:
В Windows текущий пользователь не имеет значения

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

вариантОписание
-a
—echo-все
Выведите все непустые строки ввода на стандартный вывод, когда они прочитаны. Это эквивалентно установке переменной ECHO для всех.

—no-Align
Переключение в режим невыровненного выхода.
-c команда
—command = команда
Указывает, что psql должен выполнить одну командную строку, команду и затем выйти. Это полезно в сценариях оболочки. Файлы запуска (psqlrc и

Подключение к базе данных PostgreSQL с помощью приложения с графическим интерфейсом pgAdmin

Вы также можете подключиться к базе данных PostgreSQL с помощью приложения pgAdmin GUI. Подключитесь к базе данных по адресу localhost: 5432, используя имя пользователя postgres и предоставленный пароль.

Postgresql как подключиться к базе данных с другой машины

При нажатии на pgAdmin III появится следующий экран:

Postgresql как подключиться к базе данных с другой машины

Теперь дважды щелкните PostgreSQL 9.4 в разделе «Группы серверов». pgAdmin попросит вас ввести пароль. Вы должны предоставить пароль для пользователя postgres для аутентификации.

Postgresql как подключиться к базе данных с другой машины

В разделе «База данных» на этом разделе сервера найдите нужную базу данных и выполните запросы SQL:

Источник

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

Установка PostgreSQL на Linux (Mint)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sequences

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

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

Источник

PostgreSQL в Ubuntu — внешнее подключение к базе данных

Внешнее подключение к PostgreSQL, который настроен на сервере Ubuntu через программы PhpStorm, PyCharm или DataGrip.

В статье предполагается, что у вас есть первичная настройка сервера на Ubuntu. Это означает в том числе, что у вас отключен вход на сервер по паролю и настроен вход на сервер через SSH протокол.

Подключение к PostgreSQL в PhpStorm, PyCharm или DataGrip

Настраиваем SSH

Открываем вкладку подключения к базе данных, выбираем PostgreSQL и переходим ко вкладке SSH/SSL:

Postgresql как подключиться к базе данных с другой машины

Ставим галочку возле пункта Use SSH tunnel и переходим по кнопке к дальнейшей настройке:
Postgresql как подключиться к базе данных с другой машины

Здесь:
Host — вводим ip адрес своего сервера
User name — пользователь Linux системы
Authentication type — выбираем OpenSSH config and authentication agent.

Далее нажимаем на кнопку Test Connection. Должны увидеть надпись Successfully connected!.

После успешного подключения к серверу по протоколу SSH настроим подключение к самой базе данных.

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

Открываем вкладку подключения к базе данных и выбираем PostgreSQL:

Postgresql как подключиться к базе данных с другой машины

Host — вводим ip адрес своего сервера
User — пользователь в БД
Password — пароль этого пользователя в БД
Database — название базы данных
URL — сформируется сам

Как создать базу данных, пользователя и пароль к нему есть в статье PostgreSQL.

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

postgresql.conf

Для исправления ошибки:

[08001] The connection attempt failed.
java.net.SocketException: Connection reset.

Поправим конфигурацию в файле postgresql.conf.

Сейчас удаленный сервер сообщает, что соединение не было распознано. Самая вероятная причина — закрыт доступ.

Найдем файл postgresql.conf:

Покажет один или несколько файлов. Открываем следующий файл (вместо 12 версии у вас может быть другая):

Источник

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

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