# Как настроить сетевое подключение  ![Обновлено](https://www.dmosk.ru/img/public/time.jpg "Дата обновления") Обновлено: 11.12.2024  ![Опубликовано](https://www.dmosk.ru/img/public/time.jpg "Дата публикации") Опубликовано: 11.10.2016 По умолчанию, сервер баз данных pgsql разрешает подключение только с локального компьютера. Данная инструкция показывает, как разрешить подключения с удаленных систем. Для настройки нам нужно будет внести изменения в два файла: ## Основной конфигурационный файл postgresql.conf Для начала посмотрим путь расположения конфигурационного файла **postgresql.conf**: su - postgres -c "psql -c 'SHOW config_file;'" Команда выдаст, примерно, следующее: -----------------------------------------  /var/lib/pgsql/data/postgresql.conf (1 row) _* нас интересует строчка **/var/lib/pgsql/data/postgresql.conf** — это путь расположения нужного нам конфигурационного файла._ Теперь открываем на редактирование основной файл конфигурации PostgreSQL по найденному пути: vi /var/lib/pgsql/data/postgresql.conf Находим и редактируем следующее: listen_addresses = '*' _* по умолчанию, параметр закомментирован и настроен на прослушивание запросов только с локального сетевого интерфейса. В данном примере мы разрешили прослушивание запросов на всех IP-адресах **(*)**, но, если требуется более безопасная настройка, можно просто перечислить последние через пробел._ Чтобы изменения вступили в силу, перезапускаем службу postgresql: systemctl restart postgresql _* данное имя службы (**postgresql**) может сильно отличаться, в зависимости от системы. Иногда, необходимо добавить версию postgresql или использовать другое имя. Стоит обратиться к документации, чтобы выяснить точное название сервиса._ Проверим, что настройка применилась: ss -tunlp | grep 5432 _* где **5432 —** порт, на котором работает postgresql. Данный номер используется по умолчанию, но в вашей системе он может быть другим._ В ответ мы должны получить строку, содержащую что-то на подобие: ... 0.0.0.0:5432 ... Первые **0.0.0.0** говорят о том, что PostgreSQL слушает сетевые запросы на всех сетевых интерфейсах. Если мы ограничили прослушивание, настраивая опцию **listen_addresses**, то вместо нулей мы увидим конкретный IP, на котором разрешили работать службе. ## Файл host-based authentication (pg_hba.conf) Смотрим путь расположения конфигурационного файла **pg_hba.conf**: su - postgres -c "psql -c 'SHOW hba_file;'" Команда выдаст, примерно, следующее: ---------------------------------  /var/lib/pgsql/data/pg_hba.conf (1 row) Открываем на редактирование файл, путь до которого вернула команда выше: vi /var/lib/pgsql/data/pg_hba.conf Находим: # IPv4 local connections: и сразу под ним добавляем строку на подобие: host     all     all     192.168.0.10/32     md5 * в данном примере мы: - разрешаем удаленные подключения к серверу с компьютера **192.168.0.10**. - доступ предоставляется всем базам (первое **all**). - доступ предоставляется всем учетным записям (второе **all**). - обратите внимание на **md5** — способ хэширования пароля. В зависимости от версии postgresql может потребоваться использовать другой вариант. ** При желании, вместо all можно указать конкретные данные для повышения безопасности. Чтобы изменения вступили в силу, перезапускаем службу postgresql: systemctl restart postgresql ## Проверка подключения Проверить подключение можно с удаленного компьютера следующей командой: psql -h 192.168.0.15 -U usersql _* где  **192.168.0.15** — IP-адрес сервера баз данных; **usersql** — имя учетной записи, от которой идет подключение._ ================================================== ```sh # Установка POSTGRES из исходников: curl ............ sudo tar xzvf postgresql.tar.gz cd postgresql ./configure --prefix=/var/lib/postgresql make world sudo make install world sudo chown -R vlapa:vlapa /var/lib/postgresql export PGDATA=/var/lib/postgresql ./bin/pg_ctl initdb ./bin/pg_ctl -D /var/lib/postgresql/main/ start ./bin/psql -h localhost -U vlapa postgres \d create database some_temp_db; \c some_temp_db #============================= sudo tar xzvf file_name*.tgz -C /opt/ cd /opt/file_name ./install tar -xvzf имя_файла # Для архивов сжатых с помощью BZIP (bz, bz2 и т.д.) выполняем: tar -xvjf имя_файла #Команды Tar: -x — извлечь файлы из архива; -v — подробный вывод информации на экран; -f — Обязательная опция. Если не указать, Tar будет пытаться использовать магнитную ленту; -z — обработать архив сжатый gzip’ом; -j — обработать архив сжатый bzip’ом. vim `~/.local/share/applications/PyCharm.desktop ``` ```bash [Desktop Entry] Version=1.1 Type=Application Name=nsnake GenericName=Classic snake game on the terminal NoDisplay=false//отображать в меню Icon=nsnake Exec=nsnake Terminal=true//запускать в терминале Actions= Categories=ActionGame;Game; Keywords=snake;ncurses;textual;terminal; ``` ```bash [Desktop Entry] //desktop-файл всегда начинается с этого Encoding=UTF-8 //кодировка Type=Application //тип Name=Eclipse C/C++IDE //имя Comment=Eclipse C/C++IDE //комментарий в лаунчере Terminal=false Exec=/home/kofed/eclipse/eclipse //путь к исполняемому файлу Icon=/home/kofed/eclipse/icon.xpm //путь к иконке ```