Настройка удаленного подключения к БД 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 располагается по пути /etc/postgresql/13/main/postgresql.conf, порт подключения 5432.
- Содержание
- SSH туннель к PostgreSQL
- Прямое подключение к PostgreSQL
- Настройка PostgreSQL
- postgresql.conf
- pg_hba.conf
- Настройка pgAdmin
- Частые вопросы
- Подключение к серверу базы данных PostgreSQL
- Подключение к серверу баз данных PostgreSQL через psql
- Подключение к серверу PostgreSQL через pgAdmin
- Подключение к серверу баз данных PostgreSQL через другие приложения
- Установка и базовая настройка PostgreSQL в Windows 10
- Установка PostgreSQL 11 в Windows 10
- Доступ к PostgreSQL по сети, правила файерволла
- Утилиты управления PostgreSQL через командную строку
- PgAdmin: Визуальный редактор для PostgresSQL
- Query Tool: использование SQL запросов в PostgreSQL
- Работа с базой данных PostgreSQL
- Установка PostgreSQL
- Настройка PostgreSQL
- Управление пользователями
- Работа с базами данных в PostgreSQL
- Подключение к базе данных
- Создание резервной копии и восстановление из бэкапа
- How to start psql.exe
Видео:Установка pgAdmin 4 на Windows 10 и настройка подключения к PostgreSQLСкачать
Содержание
Видео:01 - Создание, Подключение и Удаление Базы Данных - Уроки PostgreSQLСкачать
SSH туннель к PostgreSQL
Подключение к серверу PostgreSQL с использованием SSH туннеля. При выборе такого типа подключения никаких дополнительных настроек на сервере PostgreSQL не требуется.
Настройка pgAdmin на Windows 10:
💡 В качестве ключа указываем приватный ключ id_rsa из Настройка SSH сертификатов на сервере. Как изменить порт SSH в Частые вопросы.
Настройки pgAdmin для подключения через SSH туннель
Видео:💻 PostgreSQL: установка, настройка, консольСкачать
Прямое подключение к PostgreSQL
Для настройки прямого подключения к PostgreSQL вносим изменения в файлы конфигурации postgresql.conf и pg_hba.conf
Настройка PostgreSQL
postgresql.conf
Файл postgresql.conf находится в папке установки PostgreSQL.
Раскомментируем или добавим строку:
Мы разрешили прослушивание запросов от всех IP-адресов.
💡 Возможные варианты:
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.
Настройка pgAdmin
Настройка прямого подключения к базе данных PostgreSQL через интернет или локальную сеть используя pgAdmin.
Видео:PostgreSQL psql - кракозябры вместо кириллицыСкачать
Частые вопросы
Как настроить удаленное подключение к БД PostgreSQL из Windows обсуждалось в этой статье. Я надеюсь, что теперь вы сможете настроить pgAdmin для подключения к PostgreSQL (прямое подключение или используя SSH туннель). Однако, если вы столкнетесь с каким-то проблемами при настройке сервера или pgAdmin, не стесняйтесь написать в комментариях. Я постараюсь помочь.
Видео:Исправление кодировки в psql на WindowsСкачать
Подключение к серверу базы данных PostgreSQL
Данная статья относится к циклу статей, посвященных PostgreSQL. В предыдущей статье мы узнали о том, как установить PostgreSQL для изучения и практики в вашей локальной системе. Теперь мы покажем вам, как подключиться к серверу баз данных PostgreSQL.
После того как вы установили сервер базы данных PostgreSQL, установщик также установил некоторые полезные инструменты для работы с сервером баз данных PostgreSQL. Вы можете подключиться к серверу с помощью терминальной программы psql или инструмента pgAdmin.
Видео:Установка PostgreSQL 12 на Windows 10 – видео-инструкция для начинающихСкачать
Подключение к серверу баз данных PostgreSQL через psql
psql — это интерактивная терминальная программа, предоставляемая PostgreSQL. Она позволяет вам взаимодействовать с сервером баз данных PostgreSQL, например, выполнять операторы SQL и управлять объектами баз данных.
Следующие шаги показывают, как подключиться к серверу баз данных PostrgreSQL через программу psql:
Во-первых, запустите программу psql и подключитесь к PostgreSQL Database Server с помощью пользователя postgres, нажав на икноку psql, как показано ниже:
Во-вторых, введите необходимую информацию, такую как сервер, база данных, порт, имя пользователя и пароль. Нажмите Enter, чтобы принять значения по-умолчанию. В любом случае, вам нужно ввести пароль, который вы указали во время установки.
В-третьих, попробуйте повзаимодействовать с сервером баз данных PostgreSQL при помощи операторов SQL. Для этого вы можете воспользоваться следующим оператором:
Пожалуйста, не забудьте завершить команду точкой с запятой (;). После нажатия Enter, psql вернёт текущую версию PostgreSQL, установленную в вашей системе.
Видео:SQL. Урок 1.1 - Установка PostgreSQLСкачать
Подключение к серверу PostgreSQL через pgAdmin
Вторым способом подключения к базе данных является использование приложения pgAdmin, благодаря которому вы можете взаимодействовать с сервером баз данных PostgreSQL через интуитивно понятный пользовательский интерфейс.
Далее мы покажем, как подключиться к базе данных, используя приложение с графическим интерфейсом pgAdmin.
Во-первых, запустите приложение pgAdmin.
Приложение pgAdmin 4 будет запущено в веб-браузере, как показано на картинке ниже:
Во-вторых, для создания сервера, щёлкните правой кнопкой мыши по узлу Servers и выберите меню Create > Server…
В-третьих, введите имя сервера, например, PostgreSQL и нажмите на вкладку Connection:
В-четвёртых, введите имя хоста и пароль для пользователя postgres, после чего щёлкните по кнопке Save:
В-пятых, щёлкните по узлу Servers, чтобы открыть иерархию сервера. Изначально, PostgreSQL содержит базу данных, которая называется postgres, как показано ниже:
В-шестых, откройте инструмент запросов, выбрав пункт меню Tool > Query Tool или нажав на иконку молнии.
В-седьмых, введите запрос в Query Editor, затем нажмите на кнопку Execute, после чего вы увидите результат запроса, отображающийся во вкладке DataOutput:
Видео:Как подключиться к PostgreSQL на Python | Создание таблицы, добавление, удаление, вывод данныхСкачать
Подключение к серверу баз данных PostgreSQL через другие приложения
Любое приложение, поддерживающее ODBC или JDBC, может подключиться к серверу баз данных PostgreSQL. К тому же, если вы разрабатываете приложение, которое использует соответствующий драйвер, оно также сможет подключиться к серверу баз данных PostgreSQL.
Замечательно! Вы научились подключаться к серверу баз данных PostgreSQL, используя различные клиентские инструменты, такие как psql и pgADMIN. Следующим шагом мы ознакомимся с примером базы данных PostgreSQL, которую вы сможете использовать для изучения и практики.
Видео:Как запустить sql из файла postgres через консольСкачать
Установка и базовая настройка PostgreSQL в Windows 10
PostgreSQL — это бесплатная объектно-реляционная СУБД с мощным функционалом, который позволяет конкурировать с платными базами данных, такими как Microsoft SQL, Oracle. PostgreSQL поддерживает пользовательские данные, функции, операции, домены и индексы. В данной статье мы рассмотрим установку и краткий обзор по управлению базой данных PostgreSQL. Мы установим СУБД PostgreSQL в Windows 10, создадим новую базу, добавим в неё таблицы и настроим доступа для пользователей. Также мы рассмотрим основы управления PostgreSQL с помощью SQL shell и визуальной системы управления PgAdmin. Надеюсь эта статья станет хорошей отправной точкой для обучения работы с PostgreSQL и использованию ее в разработке и тестовых проектах.
Видео:БОЕВОЙ ПРОЕКТ НА ПИТОНЕ (PYTHON) 4 PART. ПОДКЛЮЧЕНИЕ К POSTGRESQL В DJANGO. ПРОЕКТИРОВАНИЕ БД.Скачать
Установка PostgreSQL 11 в Windows 10
Для установки PostgreSQL перейдите на сайт https://www.postgresql.org и скачайте последнюю версию дистрибутива для Windows, на сегодняшний день это версия PostgreSQL 11 (в 11 версии PostgreSQL поддерживаются только 64-х битные редакции Windows). После загрузки запустите инсталлятор.
В процессе установки установите галочки на пунктах:
Установите пароль для пользователя postgres (он создается по умолчанию и имеет права суперпользователя).
По умолчание СУБД слушает на порту 5432, который нужно будет добавить в исключения в правилах фаерволла.
Нажимаете Далее, Далее, на этом установка PostgreSQL завершена.
Видео:PostgreSQL : № 1 - Получение и установка.Скачать
Доступ к PostgreSQL по сети, правила файерволла
Чтобы разрешить сетевой доступ к вашему экземпляру PostgreSQL с других компьютеров, вам нужно создать правила в файерволе. Вы можете создать правило через командную строку или PowerShell.
Запустите командную строку от имени администратора. Введите команду:
netsh advfirewall firewall add rule name=»Postgre Port» dir=in action=allow protocol=TCP localport=5432
Либо вы можете создать правило, разрешающее TCP/IP доступ к экземпляру PostgreSQL на порту 5432 с помощью PowerShell:
После применения команды в брандмауэре Windows появится новое разрешающее правило для порта Postgres.
Более подробно о настройке параметров в конфигурационном файле postgresql.conf с помощью тюнеров смотрите в статье.
Видео:Power Query Ошибки №21. Подключение к PostgreSQL, Установка драйвераСкачать
Утилиты управления PostgreSQL через командную строку
Рассмотрим управление и основные операции, которые можно выполнять с PostgreSQL через командную строку с помощью нескольких утилит. Основные инструменты управления PostgreSQL находятся в папке bin, потому все команды будем выполнять из данного каталога.
Основные команды PostgreSQL:
Видео:SQL для начинающих: Урок 1: Как скачать, установить и настроить PostgreSQL и pgAdmin.Скачать
PgAdmin: Визуальный редактор для PostgresSQL
Редактор PgAdmin служит для упрощения управления базой данных PostgresSQL в понятном визуальном режиме.
По умолчанию все созданные базы хранятся в каталоге base по пути C:Program FilesPostgreSQL11database.
Для каждой БД существует подкаталог внутри PGDATA/base, названный по OID базы данных в pg_database. Этот подкаталог по умолчанию является местом хранения файлов базы данных; в частности, там хранятся её системные каталоги. Каждая таблица и индекс хранятся в отдельном файле.
Для резервного копирования и восстановления лучше использовать инструмент Backup в панели инструментов Tools. Для автоматизации бэкапа PostgreSQL из командной строки используйте утилиту pg_dump.exe.
Видео:Установка PostgreSQL и pgAdmin4 на Linux UbuntuСкачать
Query Tool: использование SQL запросов в PostgreSQL
Для написания SQL запросов в удобном графическом редакторе используется встроенный в pgAdmin инструмент Query Tool. Например, вы хотите создать новую таблицу в базе данных через инструмент Query Tool.
CREATE TABLE employee
(
Id SERIAL PRIMARY KEY,
FirstName CHARACTER VARYING(30),
LastName CHARACTER VARYING(30),
Email CHARACTER VARYING(30),
Age INTEGER
);
Id — номер сотрудника, которому присвоен ключ SERIAL. Данная строка будет хранить числовое значение 1, 2, 3 и т.д., которое для каждой новой строки будет автоматически увеличиваться на единицу. В следующих строках записаны имя, фамилия сотрудника и его электронный адрес, которые имеют тип CHARACTER VARYING(30), то есть представляют строку длиной не более 30 символов. В строке — Age записан возраст, имеет тип INTEGER, т.к. хранит числа.
После того, как написали код SQL запроса в Query Tool, нажмите клавишу F5 и в базе будет создана новая таблица employee.
Здесь вы можете заполнить данные в таблице.
После заполнения данных выполним инструментом Query простой запрос на выборку:
select Age from employee;
Видео:Как настроить правильную кодировку в PostgreSqlСкачать
Работа с базой данных PostgreSQL
PostgreSQL – опенсорсная реляционная СУБД. Отличается гибкостью и надежностью, поддерживает большое количество полезных возможностей. Часто используется в проектах, где требуется работа со сложными структурами данных, с которыми не справляются простые СУБД.
В этой статье мы разберемся, как работать с PostgreSQL. В качестве примера я буду использовать Ubuntu 18.04.
Видео:Настройка подключения Django 4.1 к БД PostgreSQLСкачать
Установка PostgreSQL
PostgreSQL есть в репозитории Ubuntu, поэтому установка выполняется одной командой. Но сначала нужно проверить обновления самой системы:
Для выполнения команды нужны права суперпользователя. Так что придется вспомнить пароль.
После установки апдейтов инсталлируем PostgreSQL:
PostgreSQL установится вместе с пакетом contrib, в котором содержится дополнительная функциональность, а также утилиты для работы СУБД.
Чтобы убедиться, что все работает, проверим версию:
При установке автоматически создается роль и пользователь postgres.
Видео:Мастер-класс по Java для начинающих. Создаем консольное приложение, взаимодействующее с PostgreSQLСкачать
Настройка PostgreSQL
Работать с PostgreSQL мы будем через терминал с помощью встроенной утилиты psql. Запускаем ее следующей командой:
Можно установить сторонние инструменты для администрирования PostgreSQL, но в этом мало смысла — psql справляется со всеми основными задачами.
Чтобы получить поддержку, вводим в терминале команду:
Если нужна справка по конкретной команде, пишем:
Выйти из psql можно командой q.
Видео:Подключится к БД | PostgreSQLСкачать
Управление пользователями
В PostgreSQL используется концепция ролей. Одну роль можно рассматривать как отдельного пользователя или как группу пользователей. Роли могут владеть объектами БД и выдавать разрешения другим ролям.
По умолчанию была создана роль postgres. Давайте создадим еще одну роль. Для этого и з консоли системы выполняем команду:
Система запросит имя для новой роли, пароль, а также позволит настроить привилегии — например, нужно ли давать права суперпользователя или разрешать создавать другие роли и базы данных.
Если вы уже зашли в psql, то создать новую роль можно командой:
Затем задаем пароль:
Вывести список всех ролей можно командой /du. Кроме имен отобразятся привилегии каждого роли.
Чтобы закрыть список ролей, выполняем команду q.
Для удаления пользователя выполняем команду:
Это можно также сделать из консоли системы с помощью команды:
Чтоб сменить пароль пользователя, подключаемся к psql с правами суперпользователя. Затем выполняем следующую команду:
Работа с базами данных в PostgreSQL
Создать базу данных из консоли можно следующей командой:
Если вы используете терминальный клиент psql, то команда будет немного отличаться:
Чтобы посмотреть список всех БД, выполняем команду l.
Для удаления базы данных используется та же команда, что и для удаления роли — drop. В терминале системы синтаксис будет таким:
В клиенте psql синтаксис похожий:
Подключение к базе данных
По умолчанию psql подключается от имени текущего пользователя Linux к БД с таким же названием. Если эти данные совпадают, достаточно выполнить запуск самого терминального клиента:
Чтобы вывести информацию о текущем соединении, выполняем команду:
Если имя базы данных отличается от имени пользователя, нужно указать его явно:
Если имя роли не совпадает с именем пользователя в Linux, прописываем дополнительные параметры.
Имя роли и название БД совпадают:
Название базы данных отличается от имени роли:
Чтобы переключиться на другую базу данных внутри psql используем команду:
Создание резервной копии и восстановление из бэкапа
Для создания резервной копии базы данных используется сложная команда:
Чтобы было проще разобраться, рассмотрим каждый параметр:
Выглядит это примерно так:
Для выполнения этой команды нужно ввести пароль, который используется при входе в psql от имени указанной роли (mybase в приведенном примере).
Восстановление из резервной копии выполняется аналогичным образом:
Параметры похожие, отличия минимальные. Важно знать хост, помнить формат и путь к бэкапу.
Мы разобрались с основными действиями и настройками PostgreSQL. На этом все!
How to start psql.exe
I’m new to postgresql (pg). I understand that in order to interact with pg, I must use psql.exe.
In my system, I find psql.exe not once, but twice, why? ( C:Program Files (x86)pgAdmin 4v2runtimepsql.exe and C:Program FilesPostgreSQL10binpsql.exe ). I tried both, with identical (negative) results.
In line with Q/A In PostgreSQL why does command line window disappear when I press Enter after entering my password?, I now, instead of running psql.exe directly, I first opened a generic (Windows) command window and then ran psql.exe from within this generic command window; I then entered the password and Enter.
In the generic (Windows) command window, I now got the message:
psql: could not connect to server: Permission denied (0x0000271D/10013)
Is the server running on host «localhost» (::1) and accepting TCP/IP connections on port 5432? FATAL: password authentication failed for user «User»
This corresponds to the problem described (but not resolved) in the Q/A cited above. Other threads in this forum re pg password fails concern Linux / outdated passwords / new passwords after password changes.
(W10 Prof 64 bit English)
From there only, I get the Windows cmd window, with «psql 10.1» and with (in [] it’s obviously the default values):
From there, I get a warning re the Console code page which differs from Windows code page, but I then get the psql prompt
On the other hand, with the first strategy above, I only get «Password:» and then, after entry of the real password (which is «a»), the «FATAL» error «password authentication failed for user «A»».
Upon installation, I had created a superuser «postgres» with password «a», not a user «A»; on the other hand, I am user «A» which is my Windows admin (!) account (no other users than myself on my pc) and the cmd prompt I usually get («C:UsersA>»); (but as expected,) no different result if I enter the whole path to psql.exe from the prompt «C:>».
So my problem comes now down to this: When triggered from within the start menu, psql.exe works correctly since it asks me all the questions I can then answer correctly (as stated above), while when started with its full path from the cmd window (both full paths tried and enclosed in «» of course), it just asks for the «password» and then tells me that for some «user A», that password is wrong.
So this is the solution, see my answer below.