Postgresql удаленный доступ linux

Ubuntu: Удаленное подключение к PostgreSQL

Для того чтобы выполнить удаленное подключение к серверу PostgreSQL, необходимо предоставить удаленный доступ к порту 5432. Для этого необходимо выполнить следующие шаги.

1. Выполнить настройку файла postgresql.conf, который по умолчанию расположен:

cd /etc/postgresql/9.1/main/postgresql.conf sudo nano postgresql.conf

для сервера Alfresco:

cd /opt/alfresco-4.2.e/alf_data/postgresql/ sudo nano postgresql.conf

Внести изменение в строку listen_addresses:

listen_addresses = 'localhost'

2. Выполнить настройку файла pg_hba.conf, который расположен в той же папке.

В конец файла добавить строку:

3. Перезагрузить сервер PostgreSQL, по умолчанию команда:

sudo service postgresql restart
service alfresco restart postgresql

P.S. Также может возникнуть ситуация блокировки пакетов firewall-ом. Чтобы проверить статус работы фаервола необходимо выполнить команду:

Если статус inactive, то фаервол выключен и проблему нужно искать в другом месте, если же нет, то можно попробовать его временно отключить командой:

sudo service iptables stop

Если после отключения фаервола доступ к серверу PostgreSQL был успешно получен, то необходимо выполнить настройку, например выполнив команды ниже. Только замените ip-адрес 172.16.1.1 на ip-адрес вашего сервера.

iptables -A INPUT -p tcp -s 0/0 —sport 1024:65535 –d 172.16.1.1 —dport 5432 -m state —state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -s 172.16.1.1—sport 5432 -d 0/0 —dport 1024:65535 -m state —state ESTABLISHED -j ACCEPT

Затем необходимо выполнить команды

Источник

Настройте PostgreSQL для разрешения удаленных подключений

Следуйте за нами на нашей фан-странице, чтобы получать уведомления каждый раз, когда появляются новые статьи. Facebook

1- Удаленное подключение к Postgres

Иногда вы создаете удаленное подключение к базе данных Postgres и получаете уведомление об ошибке, подобное этому:

 could not connect to server: Connection refused (0x0000274D/10061) 

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

Прежде чем мы начнем, важно знать, что есть два конфигурационных файла, контролирующих работу сервера базы данных Postgres, и вам нужно изменить некоторые параметры этих двух файлов.

  • /etc/postgresql/13/main (Linux)
  • C:/Program Files/PostgreSQL/13/data (Windows)

Файл postgresql.conf позволяет настроить IP-адреса, которые Postgres использует для прослушивания подключений к нему. По умолчанию Postgres прослушивает только адрес localhost, поэтому вы не можете удаленно подключиться к нему.

Откройте Terminal в Linux (Ubuntu и т. д.) и перейдите в папку, где находится файл postgresql.conf.

Читайте также:  Zip linux сжать папку

Для Linux (Ubuntu и т. д.) используйте команду nano, чтобы открыть и изменить файл postgresql.conf.

 #listen_addresses = "localhost" 

Вышеуказанное изменение позволяет Postgres прослушивать все IP-адреса компьютера, на котором они установлены. Вы также можете указать список адресов прослушивания (listen addresses) для Postgres, которые разделяются запятыми.

 listen_addresses = '192.168.0.1,112.113.10.1' 

Затем нажмите CTRL + O —> ENTER, чтобы сохранить изменения, и CTRL + X, чтобы выйти из nano.

Файл pg_hba.conf используется для аутентификации клиента (client). Другими словами, он позволяет указать, какие клиенты могут подключаться к Postgres. HBA означает «Host-Based Authentication» (аутентификация на основе Хоста).

Для Linux (Ubuntu и т. д.) используйте команду nano, чтобы открыть и изменить файл pg_hba.conf:

 # IPv4 local connections: host all all 127.0.0.1/32 md5 

 # IPv4 local connections: host all all 0.0.0.0/0 md5 

Вы также можете настроить разрешение для диапазона IP-адресов для подключения к Postgres:

 # IPv4 local connections: host all all 112.100.20.1/30 md5 
 sudo service postgresql stop sudo service postgresql start 

View more Tutorials:

Это онлайн курс вне вебсайта o7planning, который мы представляем, он включает бесплатные курсы или курсы со скидкой.

  • Professional Ruby on Rails Developer with Rails 5
  • Learn and Understand Interfaces in C#
  • Learn Database Design using PostgreSQL
  • PostGreSQL with ASP.NET Core 1.0 (With An Extended Example)
  • Byte-Sized-Chunks: Dynamic Prototypes in Javascript
  • Learn Android Development From Scratch
  • Beginner’s Guide to PostgreSQL
  • Backup and Restore Fundamentals in PostgreSQL DB — Level 2
  • The Beginners Guide to SQL and PostgreSQL
  • SQL in an Hour with PostgreSQL
  • * * Java Database Connection: JDBC and MySQL
  • Create Dynamic web Forms with jQuery
  • The Complete Python & PostgreSQL Developer Course
  • Learning iPython Notebook
  • Learn Partitioning in PostgreSQL from Scratch
  • Mastering Thymeleaf with Spring Boot
  • Dart & Flutter: The Complete Mobile Apps Development Course
  • Learn SQL Using PostgreSQL: From Zero to Hero
  • Backup and Restore Fundamentals in PostgreSQL DB — Level 1
  • Node, SQL, & PostgreSQL — Mastering Backend Web Development
  • MySQL 101 for beginners
  • PostgreSQL For Beginners
  • Spring Framework DevOps on AWS
  • Understanding JDBC with PostgreSQL (A step by step guide)

Источник

How To Configure PostgreSQL to Allow Remote Connections

An open-source, object-based relational database PostgreSQL, provides the user with the implementation of SQL and is commonly hosted on Linux. With PostgreSQL users can expand the system by defining self-data types, functions, and operators.

PostgreSQL is used by many large companies to save and store their data for various applications and it supports various programming interfaces as well as videos, texts, and images. In this article we’ll first go through the installation of PostgreSQL on ubuntu 20.04 then we’ll configure it to allow remote connection

Читайте также:  Linux get listen ports

Prerequsities

This article assumes that you already have running a PostgreSQL server on your system. If not, use one of the below links to install the PostgreSQL database server on your system.

Find Configuration File

In order to install PostgreSQL on our system we need to update our repository and for that execute the below command:

sudo -u postgres psql -c "SHOW config_file;" 
Output:
config_file ----------------------------------------- /etc/postgresql/13/main/postgresql.conf (1 row)

You need to change the listening address in the postgresql.conf configuration file showing in the command output. Also, you need to edit “pg_hba.conf” in the same directory to allow remote access.

Configure PostgreSQL to Allow Remote Connections

In order to allow all the IP addresses to connect to the PostgreSQL server, we need to configure the file and make some changes, for that you have located the configuration file in the previous step.

Now we need to open the file and make some changes in order to allow a remote connection. To open the file you’ve to use the keyword “nano” or you can run the command in the terminal that is provided below:

sudo nano /etc/postgresql/13/main/postgresql.conf 

This command will open this file and in it, you need to search “listen_addresses” and add the following line.

#listen_addresses = 'localhost' listen_addresses = '*'

Change Postgres Listen Address

All you’ve to do is change the listening address from localhost to “*” or add a new line as shown above. This will allow every IP address to be connected to the database server, or if you want to specify some particular ips you can type them with spaces between each IP address.

In order to allow the users that we want to be connected to the database then we need to make changes in the “pg_hba.conf” file. This file will be available under the same directory as above. Now open the file using the command provided below:

sudo nano /etc/postgresql/13/main/pg_hba.conf 
# TYPE DATABASE USER ADDRESS METHOD host all all 0.0.0.0/0 md5 host all all :/0 md5

PostgreSQL Allow Remote Hosts

Save the configuration file and close it.

sudo systemctl restart postgresql 

Now simply open the port “5432” in the firewall and you’re all set to see all the databases and you can bond from whichever ip address to the server of PostgreSQL:

That’s it. Your PostgreSQL database server is accessible from remote hosts.

Conclusion

PostgreSQL database is default set to bond with localhost which restricts the other IP address and host to connect or have the access to the PostgreSQL server. In this article, we guided you through the configuration of PostgreSQL to allow remote connection so that other IPs can bond to the server. In this way, other hosts can easily see the list of databases and connect to the PostgreSQL server remotely.

Читайте также:  Linux find exit status

Источник

Как настроить удалённый доступ к PostgreSQL с удалённых серверов

Есть два метода настройки удалённого доступ к PostgreSQL с внешних серверов: 1) открыть доступ к вашему PostgreSQL вообще со всех серверов в интернете и 2) Вручную настроить те сервера с которых можно будет подключится к вашей базе.

Первый метод хорош только в случае тестового или учебного проекта, так как небольшой баг в коде может раскрыть данные доступа к вашей базе и скомпрометировать всё её содержимое. Если вы думаете, что ваш проект слишком маленький и вас это не касается, то вы ошибаетесь. Недавно я запустил совершенно чистый сервер с новым ip и оставил открытый доступ к базе, уже через час какой-то бот стёр всю БД и предлагал выкуп, за возвтар данных.

Настройка доступа избранным ip

Для того, что бы настроить доступ к PostgreSQL с разрешённых вами серверов нужно для начала открыть доступ к PostgreSQL серверу с внешних серверов. Открываем файл /etc/postgresql/14/main/postgresql.conf Обратите внимание, что у вас может отличатся путь к файлу, например с выходом версии 15 PostgreSQL

В разделе Connection Settings нужно раскомментировать строку listen_addresses и привести её к виду:

Далее в этой же директории открываем файл pg_hba.conf и в самом низу добавляем ip адреса тех серверов которым вы хотите дать доступ к вашему PostgreSQL.

Пример строки для каждого сервера:

# TYPE DATABASE USER ADDRESS METHOD host all all 80.121.11.21/32 scram-sha-256 # TYPE DATABASE USER ADDRESS METHOD host all all 120.121.11.11/32 scram-sha-256 

В примере я открыл удалённый доступ для сервера 80.121.11.21 и 120.121.11.11

В моей конфигурации открыт доступ для всех пользователей, во всем базам данных: host all all для большей безопасности вы можете ограничить этот набор. Например открыть доступ только пользователю remote: host all remote ко всем базам, или ограничить до одного пользователя и одной базе: host orders remote Как видно из примера, только пользователь remote сможет подключится с удачного сервера и получить доступ, только к базе данных orders

Не забывайте перезагружать PostgreSQL после каждого изменения конфиг файлов

sudo service postgresql restart 

Доступ со всех ip

Если предостережение выше на вас не подействовало, вы в праве на свой страх и риск открыть доступ к вашей базе со всех серверов в интернете.

Для этого вам необходимо добавить следующую конфигурацию в файл pg_hba.conf

Источник

Оцените статью
Adblock
detector