# Copyright (C) 2020-2021 The Psycopg Team
import re
-from typing import Any, Dict, List
+from typing import Any, Dict, List, Optional
from pathlib import Path
from . import pq
def transaction_status(self) -> pq.TransactionStatus:
return pq.TransactionStatus(self.pgconn.transaction_status)
+ def parameter_status(self, param_name: str) -> Optional[str]:
+ res = self.pgconn.parameter_status(param_name.encode(self._pyenc))
+ return res.decode(self._pyenc) if res is not None else None
+
def _get_pgconn_attr(self, name: str) -> str:
value: bytes = getattr(self.pgconn, name)
return value.decode(self._pyenc)
assert info.password == "the-pass-word"
assert "password" not in info.get_parameters()
assert info.get_parameters()["dbname"] == info.dbname
+
+ def test_parameter_status(self, conn):
+ assert conn.info.parameter_status("nosuchparam") is None
+ tz = conn.info.parameter_status("TimeZone")
+ assert tz and isinstance(tz, str)
+ assert tz == conn.execute("show timezone").fetchone()[0]