В Delphi делают Вы используете, включают пути, или explicity включают все необходимые файлы?

Postgresql сначала выполняет обратный поиск DNS при проверке pg_hba.conf. Поэтому важно, что такое обратный DNS. Это также означает, что это не сработает:

hostssl all             replica         .rds.amazonaws.com    md5

Вы можете сделать:

hostssl all             replica         .us-west-2.compute.amazonaws.com    md5

Но если вы правильно останетесь, это оставит очень открытую конфигурацию, которая позволит любому компьютер, работающий в этом регионе AWS, для подключения с правильным паролем md5.

Это оставляет по существу два разных варианта решения этой проблемы.

Вариант 1 - Частная сеть и VPN

С помощью AWS VPC вы можете настроить частную сеть и группы подсетей для своего экземпляра RDS, где ему будут назначаться IP-адреса в IP-пространство, которое вы можете контролировать. Допустим, у вас есть подсеть 10.10.10.0/24. Это значит, что вы можете опубликовать 10.10.10.0/24 в своем pg_hba.conf. Это потребует какой-то VPN-настройки между VPC и вашим сервером.

В зависимости от типа сетевого оборудования, установленного в подвале, вы можете использовать AWS Site-to-Site VPN . В качестве альтернативы вы можете использовать другие решения полочных решений, такие как OpenVPN или WireGuard .

Вариант 2 - Динамическое обновление pg_hba.conf

Если вы не хотите дополнительной сложности VPN. Вы можете иметь скрипт каждые 5 минут, запрашивать имя хоста my-db.random-string.us-west-2.rds.amazonaws.com, а затем обновлять pg_hba.conf по мере необходимости и отправлять сигнал SIGHUP в postgres. Это не самое симпатичное решение, но должно позволить ему работать полуавтоматически. Если для этого соединения не требуется простои, это вряд ли будет идеальным решением.

5
задан mmmm 2 May 2009 в 07:25
поделиться

7 ответов

У меня есть очень простой способ определить это ... Если код специфичен для проекта (не используется в другом месте), я включаю его явно. Весь общий код извлекается из пути к библиотеке.

С наилучшими пожеланиями, дон

9
ответ дан 18 December 2019 в 12:01
поделиться

Я не думаю, что смогу подсчитать, сколько раз я помогал тому, кто обнаружил, что компилятор находил дубликат копии модуля где-то в их пути поиска, где они не ожидали найти его. Они не могли понять, почему они меняли свой код в редакторе (на копии блоков, не найденных в пути поиска) и не видели каких-либо изменений в поведении приложения. Явное включение модуля и отсутствие указания пути поиска означает, что компилятором может быть найдена только одна копия модуля.

4
ответ дан 18 December 2019 в 12:01
поделиться

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

0
ответ дан 18 December 2019 в 12:01
поделиться

Общий код против конкретного кода является хорошим правилом.

Я часто использую VSSConnextion , так что файлы, которые мне обычно нужно извлекать вместе, естественно, принадлежат одному и тому же проекту.

0
ответ дан 18 December 2019 в 12:01
поделиться
  • мои библиотеки находятся в SVN, и я обычно проверяю их для (разветвляю) проекта в ../libraries относительно проекта. Это сохраняет объем включенных директорий маленьким и точным.

  • В реальном источнике (.pas) пути полностью запрещены.

  • нет связанных с проектом путей в глобальном пути поиска delphi (только для проекта, или они действительно являются универсально общими источниками / компонентами)

  • Я ненавижу загрязняющий источник с жестко закодированными путями, поэтому у меня обычно всего несколько единиц в проекте, всегда с относительными путями. Не взломать VSS w: \ диск взломать, пожалуйста! Обычно это модули, которые тянут части каркаса или необходимы из-за визуального наследования или инициализации формы.

  • К сожалению, относительные пути могут быть опасны для Delphi, потому что они относятся к рабочему каталогу, который может меняться в соответствии с диалогами Delphi (например, Open). Решение простое, включите в основной проект включаемый файл с уникальным именем.

1
ответ дан 18 December 2019 в 12:01
поделиться

У меня была такая же проблема. Синие точки не отображаются в желобе.

Простое решение (одно из):

Меню> Проект> Компилятор> Конфигурация сборки ... установить DEBUG вместо выпуска.

Delphi 2007

] PS: ну, я думал , что закончил кодирование. Кто-то запросил новую функцию. :)

0
ответ дан 18 December 2019 в 12:01
поделиться
Другие вопросы по тегам:

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