не удалось изменить сохранение в pg_hba.conf вычислительного механизма

Я хочу настроить PostgreSQL на Compute Engine, но при попытке изменить pg_hba.conf автор sudo nano ../../etc/postgresql/9.3/main/pg_hba.conf и я вставляю # удаленные подключения IPv4 для учебника: разместить все все [YOUR_IPV4_ADDRESS] / 32 md5 с IP-адресом моего локального компьютера и нажмите Control + x , затем данные не сохранены

0
задан 14 July 2020 в 09:05
1 ответ

Я попытался выполнить шаги, описанные в руководстве сообщества Как настроил PostgreSQL на Compute Engine и не обнаружил проблем. Имейте в виду, что некоторые версии программного обеспечения, упомянутые в этом руководстве, устарели и должны быть заменены на поддерживаемые, и, как следствие, пути к файлам также должны быть обновлены.

Пожалуйста, посмотрите на мои шаги ниже:

  1. Создайте экземпляр виртуальной машины (поскольку Ubuntu 14.04 из руководства устарела, я заменил ее на Ubuntu 18.04 LTS).

     Вычислительные экземпляры $ gcloud создают экземпляр-1 --zone=europe-west3-a --machine-type=e2-medium --image=ubuntu-1804-bionic-v20200701 --image-project=ubuntu-os- облако
    Создано [https://www.googleapis.com/compute/v1/projects/test-prj/zones/europe-west3-a/instances/instance-1].
    НАЗВАНИЕ ЗОНА MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
    instance-1 europe-west3-a e2-medium 10.156.15.192 35.246.XXX.YYY РАБОТАЕТ
    
  2. Установите PostgreSQL и используйте PSQL для завершения настройки:

    $ sudo apt update
    $ sudo подходящее обновление
    $ sudo apt установить postgresql postgresql-client postgresql-contrib
    $ sudo -u postgres psql postgres
    psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1))
    Введите "помощь" для помощи.
    postgres=# \пароль postgres
    Введите новый пароль:
    Введите его снова:
    postgres=# СОЗДАТЬ РАСШИРЕНИЕ adminpack;
    СОЗДАТЬ РАСШИРЕНИЕ
    постгрес=# \q
    $
    

    Постгрес SQL 9.3 был заменен на 10.12.

  3. Настроить удаленный доступ к PostgreSQL:

    3.1. отредактируйте pg_hba.conf:

    • перейдите к ip4.me, чтобы получить IPv4-адрес вашего локального компьютера (внешнего); external_ip_of_local_pc
    • открыть файл /etc/postgresql/10/main/pg_hba.conf (путь к файлу был изменен из-за более новой версии):
      $ sudo nano /etc/postgresql/10/main/pg_hba.conf
      
    • прокрутите файл вниз и добавьте следующие строки:
      # Удаленные подключения IPv4 для руководства:
      хост все все [ВАШ_IPV4_АДРЕС]/32 md5
      
    • замените [YOUR_IPV4_ADDRESS] адресом вашего локального компьютера:
      # Удаленные подключения IPv4 для руководства:
      хост все все 89.64.XXX.YYY/32 md5
      
    • сохраните файл и выйдите из редактора;
    • проверьте изменения:
      $ sudo cat /etc/postgresql/10/main/pg_hba.conf
      ...
      # Административный вход в базу данных через сокет домена Unix
      локальный все одноранговые узлы postgres
      
      # ТИП БАЗЫ ДАННЫХ АДРЕС ПОЛЬЗОВАТЕЛЯ МЕТОД
      
      # "local" только для соединений сокетов домена Unix
      локальные все все одноранговые
      # Локальные соединения IPv4:
      хост все все 127.0.0.1/32 md5
      # Локальные соединения IPv6:
      хост все все ::1/128 md5
      # Разрешить подключения репликации с локального хоста пользователем с
      # привилегия репликации.
      локальная репликация всех одноранговых узлов
      репликация узла все 127.0.0.1/32 md5
      репликация хоста все ::1/128 md5
      # Удаленные подключения IPv4 для учебника:
      хост все все 89.64.XXX.YYY/32 md5
      

    3.2. отредактируйте postgresql.conf

    • откройте файл /etc/postgresql/10/main/postgresql.conf (путь к файлу был изменен из-за более новой версии):
      $ sudo nano /etc/postgresql/10/main/postgresql.конф
      
    • прокрутите вниз до строки, начинающейся с #listen_addresses = 'localhost';
    • удалите символ #, чтобы раскомментировать строку;
    • замените localhost с * (настройка '*' позволяет Postgres прослушивать все IP-адреса);
    • сохраните файл и выйдите из редактора;
    • перезапустите службу базы данных:
      $ перезапуск службы sudo postgresql
      $ статус службы sudo postgresql
       ● postgresql.service — СУБД PostgreSQL.
      Загружено: загружено (/lib/systemd/system/postgresql.service; включено; предустановка поставщика: включена)
      Активен: активен (закрыт) со вт 14.07.2020 09:57:07 UTC; 6 с назад
      Процесс: 7452 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
      Основной PID: 7452 (код=выход, статус=0/УСПЕХ)
      
      14 июля, 09:57:07 instance-1 systemd[1]: запуск СУБД PostgreSQL...
      14 июля, 09:57:07 instance-1 systemd[1]: запущена СУБД PostgreSQL.
      
0
ответ дан 14 July 2020 в 10:14

Теги

Похожие вопросы