2012-06-12 4 views
2

Согласно руководству PHP.net, pg_pconnect создаст постоянное соединение или вернет существующее, если оно уже существует с той же строкой соединения.PHP: Как узнать, открыто ли постоянное соединение PostgreSQL?

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

Возможно ли это на самом деле?

ОБНОВЛЕНИЕ: С этим вопросом я не имею в виду текущий исполняемый скрипт PHP. Я хочу знать, было ли соединение открыто sometime (может быть, другими сценариями в другой раз), или этот скрипт является первым в открытом соединении (например, потому что я перезагрузил сервер PostgreSQL).

ответ

1

Проверьте руководство. Решение дается в самом описании. Он возвращает существующее соединение, если вы включили постоянное соединение, которое включено по умолчанию. У меня не было проблем с этим в моем опыте. Надеюсь, это поможет. php.net manual for pg_pconnect()

ANSWER ОБНОВЛЕНО: я должен добавить, что обычно postgres очень полезен для его соединений; он пытается сохранить соединения, даже если вы сбросите сервис; поэтому было бы разумно не использовать это событие «проверки существующего соединения», так как даже если u нашел механизм для обнаружения нового события, возвращаемого соединением, он будет счетным путем вашим пальцем; очень немногие очень редкие.

Я думаю, вы должны переложить свою логику.

+0

Я должен был немного уточнить свой вопрос, я сожалею о недоразумении. Я уточню свой вопрос. – StormByte

+1

удачи! ans только обновляется. –

+0

Надеюсь, вы прочли это http://php.net/manual/en/features.persistent-connections.php –

Смежные вопросы