Использование psql для подключения к postgresql в режиме ssl
Я пытаюсь настроить SSL сертификат для сервера PostgreSQL. Я создал файл сертификата (server.crt) и ключ (сервер.ключ) в каталоге данных и обновите параметр SSL до "on", чтобы включить безопасное соединение.
Я просто хочу, чтобы только сервер аутентифицировался с сертификатами сервера на стороне клиента и не требовал подлинности клиента на стороне сервера. Я использую psql в качестве клиента для подключения и выполнения команд.
Я использую PostgreSQL 8.4 и linux. Я попытался с помощью приведенной ниже команды подключиться к серверу с включенным ssl
psql "postgresql://localhost:2345/postgres?sslmode=require"
, но я получаю
psql: invalid connection option "postgresql://localhost:2345/postgres?sslmode"
что здесь не так? Правильно ли я пытаюсь подключиться к серверу с включенным режимом ssl? Нормально ли аутентифицировать только сервер, а не клиент ?
пожалуйста, помогите мне.
3 ответов
psql
ниже 9.2 не принимает этот URL-подобный синтаксис для опций.
использование SSL может управляться в командной строке или PGSSLMODE переменная окружения, но значение по умолчанию prefer
, SSL-соединения будут опробованы сначала автоматически без указания чего-либо.
пример со строкой conninfo (обновлено для psql 8.4)
psql "sslmode=require host=localhost dbname=test"
читать страница руководства дополнительные опции.
psql "sslmode=require host=localhost port=2345 dbname=postgres" --username=some_user
по словам документация по postgres psql, только параметры соединения должны идти в строке conninfo (вот почему в нашем примере --username не находится внутри этой строки)