Можно задать:
user:password@host:port/database,
а можно:
user:password@local/database
В этом случае произойдет соединение с сервером, расположенным на локальной машине.
charset - сразу после соединения с сервером выполняет команду SET CLIENT_ENCODING=значение; ClientCharset - задает кодировку, в которой необходимо общаться с SQL-сервером, перекодированием занимается драйвер;
autocommit - по умолчанию Parser 3 автоматически выполняет COMMIT после каждого успешно выполненного запроса; если указать опцию autocommit=0, то такое поведение будет изменено и все запросы, написанные внутри одного оператора connect, будут выполняться в рамках одной транзакции;
datestyle - если задан этот параметр, то сразу после соединения с сервером драйвер выполнит команду SET DATESTYLE=значение;
standard_conforming_strings - если установлен в 1, то отключается эскейпинг символа '\' для соответствия SQL-стандартам.
Пример: перекодирование средствами SQL-сервера (рекомендуется)
Допустим, данные в базе хранятся в кодировке UTF-8, а сайт работает в кодировке windows-1251, в этом случае нужно использовать следующую строку подключения:
pgsql://user:password@host/database?charset=win Тогда сразу после соединения SQL-серверу будет выдана команда SET CLIENT ENCODING=win и сервер сам будет перекодировать принимаемые данные из кодировки win в кодировку, в которой данные хранятся у него в таблице, и обратно.
Внимание: в этом случае следует указать кодировку, в которой работает сайт. Эта опция выполняет команду Postgres, поэтому необходимо использовать названия кодировок Postgres-сервера, которые отличаются от названий кодировок Parser 3, определяемых в конфигурационном файле.
Пример: перекодирование драйвером (работает со всеми версиями Postgres-сервера)
В редких случаях бывает, что невозможно использовать функции перекодирования, предоставляемые Postgres-сервером. Тогда можно задействовать механизмы перекодирования драйвера, используя опцию ClientCharset.
Допустим, данные в базе хранятся в кодировке windows-1251, а сайт работает в кодировке koi8-r, в этом случае можно использовать такую строку подключения:
pgsql://user:password@host/database?ClientCharset=windows-1251
Тогда данные, отправляемые SQL-серверу, будут перекодироваться драйвером из кодировки $request:charset (в данном примере koi8-r) в кодировку windows-1251, а принимаемые от SQL-сервера данные - обратно.
Внимание: в этом случае нужно указать кодировку, в которой данные хранятся в БД. В этой опции нужно указать названия кодировок Parser 3, которые определяются в конфигурационном файле.