Перечислите сохраненные функции, которые ссылаются на таблицу в PostgreSQL

Как обычно, проверьте очевидное: 1. Проверьте, включены ли на вашем маршрутизаторе порты 1433 и 1434 (это настройки по умолчанию для связи по IP / UDP) 2. Убедитесь, что на вашем клиенте или на компьютере установлен межсетевой экран. сервер, который сказал, что порты не заблокированы (это тот, который был моим "поймал"). 3. Зайдите в Sql Configuration Manager и в разделе «Настройка сети Sql Server» убедитесь, что TCP / IP включен. Кроме того, в той же программе под Sql Native Client 1.0 (если установлен), что он также имеет включенный TCP / IP.

Дешевый и изящный способ убедиться, что вся информация о вашем соединении работает, - это создать файл .udl (в любом месте вашей системы), заполнить соответствующую информацию и нажать «Проверить соединение». Если там что-то не так, вы получите (достаточно) информативное сообщение о проблеме. Если вы не знаете о файлах .udl, щелкните правой кнопкой мыши в проводнике Windows (на правой панели), чтобы создать «Новый текстовый файл». Введите любое допустимое имя, но измените расширение с .txt на .udl. Вас попросят подтвердить изменение добавочного номера, ответьте «да». После создания щелкните файл (или дважды щелкните, если вы не используете один щелчок), чтобы открыть его. Есть 4 вкладки. Первый позволяет выбрать провайдера. Для Visual studio используйте собственный клиент Sql, для любой другой программы попробуйте стандартный Sql Server Provider. На второй вкладке вы можете ввести имя сервера, имя пользователя и пароль сервера sql (если используется) и т. Д. Затем протестируйте соединение. Еще один момент, на который следует обратить внимание - если вы используете аутентификацию Windows, убедитесь, что эти пользователи были добавлены в логины сервера.

70
задан Community 23 May 2017 в 11:46
поделиться

5 ответов

SELECT  p.proname
FROM    pg_catalog.pg_namespace n
JOIN    pg_catalog.pg_proc p
ON      p.pronamespace = n.oid
WHERE   n.nspname = 'public';
97
ответ дан 24 November 2019 в 13:22
поделиться

Вы можете использовать стандартную схему information_schema для получения метаданных о вашей базе данных (она входит в стандарт SQL, поэтому она должна работать одинаково в разных системах баз данных). В этом случае вам понадобится information_schema.routines .

5
ответ дан 24 November 2019 в 13:22
поделиться

Исключая системные элементы:

select proname from pg_proc where proowner <> 1;
4
ответ дан 24 November 2019 в 13:22
поделиться

Посмотрите мой рецепт . Он читает функции и триггеры. Он основан на информации из: Извлечение информации META из PostgreSQL (INFORMATION_SCHEMA)

4
ответ дан 24 November 2019 в 13:22
поделиться
SELECT  proname, prosrc
FROM    pg_catalog.pg_namespace n
JOIN    pg_catalog.pg_proc p
ON      pronamespace = n.oid
WHERE   nspname = 'public';
17
ответ дан 24 November 2019 в 13:22
поделиться
Другие вопросы по тегам:

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