На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Akina
  
> PortgreSQL внутри VisrtualBox
    Доброго времени суток.

    Имеется хост и клиент-машина (первая - Windows 7, вторая - VirtualBox с такой же семеркой).
    Ставлю Postgress в клиенте и хочу подключаться к ней с хоста (через pgAdmin, в общем - просто хранить БД отдельно, в ВМ). Перебрал следующие варианты:
    Пинг с клиента на хост есть, обратно -нет. Пробовал отключить файерволл - тоже самое.

    Как можно все таки наладить эту связку?
    Сообщение отредактировано: Keeper89 -
      ну а вообще с хостовой на виртуалку хоть к чему то можно подключится? если нет то нужно настроить сеть, а уж потом приниматся настраивать постргесс.
      по умолчанию постгресс слушает только свою машину, там нужно в файле прописать с каких апишников принимать соединения (pg_hba.conf)
      Сообщение отредактировано: ViktorXP -
        ViktorXP
        там стоит звездочка, и написано, что это входящие со всех адресов.

        Добавлено
        Цитата ViktorXP @
        ну а вообще с хостовой на виртуалку хоть к чему то можно подключится?

        А как проще проверить?
          какая звездочка?
          http://www.postgresql.org/docs/8.2/static/...g-hba-conf.html

          Добавлено
          Цитата Keeper89 @
          А как проще проверить?

          либо пинг, либо телнет (или любое другое что развернуто на сервере.)
            Цитата ViktorXP @
            какая звездочка?

            Я про http://www.postgresql.org/docs/8.2/static/...ISTEN-ADDRESSES

            Проверил, оба пингуются. В настройке теперь так:
            ExpandedWrap disabled
              # TYPE  DATABASE        USER            ADDRESS                 METHOD
               
              # IPv4 local connections:
              host    all             all             127.0.0.1/32            md5
              # IPv6 local connections:
              host    all             all             ::1/128                 md5
              # Allow replication connections from localhost, by a user with the
              # replication privilege.
              #host    replication     postgres        127.0.0.1/32            md5
              #host    replication     postgres        ::1/128                 md5
               
              # TYPE DATABASE USER CIDR-ADDRESS METHOD
              host    all             all             192.168.1.1/32            md5


            и

            ExpandedWrap disabled
              listen_addresses = '*'      # what IP address(es) to listen on;
                                  # comma-separated list of addresses;
                                  # defaults to 'localhost'; use '*' for all
                                  # (change requires restart)
              port = 5432             # (change requires restart)
              max_connections = 100           # (change requires restart)


            Добавлено
            Сделал через мост. Однако теперь не могу попасть в Postgres ни с хоста, ни с клиента, выдает такое:
            ExpandedWrap disabled
              Error connecting to the server: ВАЖНО:  пользователь "postgres" не прошёл проверку подлинности (по паролю)
              перенесете тему в софт, тут проблема с сетью винды, а не постгрессом пока.

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


                А как это сделать для виртуалбокса? Там есть NAT,, есть мост, есть другие варианты

                Добавлено
                orb
                И почему проблема в сети? Ведь они спокойной пингуются, не заходит только в постгрес
                  Цитата Keeper89 @
                  Сделал через мост. Однако теперь не могу попасть в Postgres ни с хоста, ни с клиента, выдает такое:

                  Цитата
                  Error connecting to the server: ВАЖНО:  пользователь "postgres" не прошёл проверку подлинности (по паролю)


                  Цитата Keeper89 @
                  host    all             all             192.168.1.1/32            md5

                  Я так понимаю что у тебя у хостовой машини айпишник 192.168.1.1 и именно такой IP видит виртуальная?
                    ViktorXP

                    Нет, у хостовой 192.168.1.100.

                    После моста переустановил пострес, итоги такие:
                    1) хост и клиент пингуют друг друга
                    2) в виртуалке постгрес заходит на ура
                    3) не заходит с хоста:
                    ExpandedWrap disabled
                      could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "192.168.1.159" and accepting TCP/IP connections on port 5432?


                    Добавлено
                    Да, в pg_hba.conf вот такая конфигурация:
                    ExpandedWrap disabled
                      # TYPE  DATABASE        USER            ADDRESS                 METHOD
                       
                      # IPv4 local connections:
                      host    all             all             127.0.0.1/32            md5
                      # IPv6 local connections:
                      host    all             all             ::1/128                 md5
                      # Allow replication connections from localhost, by a user with the
                      # replication privilege.
                      #host    replication     postgres        127.0.0.1/32            md5
                      #host    replication     postgres        ::1/128                 md5
                       
                      host  all  postgres  255.255.224.0/0  md5


                    Добавлено
                    Update:

                    Получилось подключиться - переустановил Postgres и все пошло. Всем спасибо!
                      Цитата Keeper89 @
                      Нет, у хостовой 192.168.1.100.

                      А почему тогда доступ дал для другой.

                      Цитата Keeper89 @
                      host  all  postgres  255.255.224.0/0  md5

                      ну если ты пройдешь по ссылке с четвертого поста то там написано что бы разрешить всем достаточно задать все нули 0.0.0.0/0
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0355 ]   [ 15 queries used ]   [ Generated: 27.04.24, 08:17 GMT ]