Я буду создавать сервер/клиентское программное обеспечение в Windows, где много машин должны общаться с базой данных Postresql, работающей на сервере. Это - программное обеспечение C++, таким образом, я буду использовать libpq для соединения с базой данных.
Если я сделаю это, то там будут проблемы с брандмауэром? Я хотел бы сделать конфигурацию максимально легкой, и не иметь пользователей открывают порты брандмауэра или отключают их брандмауэр.
Если я действительно должен открыть порты брандмауэра, я могу использовать WCF для обхождения проблемы? В основном отправьте команду на сервер с помощью WCF, выполните команду postgresql локально и верните результат (я никогда не использовал WCF, но понимаю, что это может коммуникация с помощью порта HTTP 80).
PostgreSQL обычно прослушивает порт 5432, который по умолчанию не открыт в брандмауэре Windows. Но единственная машина, где брандмауэр нужно будет перенастроить, это та, на которой запущен PostgreSQL. Если у вас много клиентских машин, ни одна из них не должна требовать изменений в брандмауэре (если только у них нет ограничений на исходящий трафик, что бывает редко).
Надеюсь, это поможет.
Вы также можете настроить SSL-соединения для повышения безопасности.