def _connect_sync(self): self._pgconn = libpq.PQconnectdb(self.dsn.encode('utf-8')) if not self._pgconn: raise exceptions.OperationalError('PQconnectdb() failed') elif libpq.PQstatus(self._pgconn) == libpq.CONNECTION_BAD: raise self._create_exception() # Register notice processor libpq.PQsetNoticeProcessor(self._pgconn, self._notice_callback, ffi.NULL) self.status = consts.STATUS_READY self._setup()
def _connect_async(self): """Create an async connection. The connection will be completed banging on poll(): First with self._conn_poll_connecting() that will finish connection, then with self._poll_setup_async() that will do the same job of self._setup(). """ self._pgconn = libpq.PQconnectStart(ascii_to_bytes(self.dsn)) if not self._pgconn: raise exceptions.OperationalError('PQconnectStart() failed') elif libpq.PQstatus(self._pgconn) == libpq.CONNECTION_BAD: raise self._create_exception() libpq.PQsetNoticeProcessor(self._pgconn, self._notice_callback, ffi.NULL)