ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ`psycopg2.pool` -- Connections pooling ====================================== .. sectionauthor:: Daniele Varrazzo .. index:: pair: Connection; Pooling .. module:: psycopg2.pool Creating new PostgreSQL connections can be an expensive operation. This module offers a few pure Python classes implementing simple connection pooling directly in the client application. .. class:: AbstractConnectionPool(minconn, maxconn, \*args, \*\*kwargs) Base class implementing generic key-based pooling code. New *minconn* connections are created automatically. The pool will support a maximum of about *maxconn* connections. *\*args* and *\*\*kwargs* are passed to the `~psycopg2.connect()` function. The following methods are expected to be implemented by subclasses: .. method:: getconn(key=None) Get a free connection from the pool. The *key* parameter is optional: if used, the connection will be associated to the key and calling `!getconn()` with the same key again will return the same connection. .. method:: putconn(conn, key=None, close=False) Put away a connection. If *close* is `!True`, discard the connection from the pool. *key* should be used consistently with `getconn()`. .. method:: closeall Close all the connections handled by the pool. Note that all the connections are closed, including ones eventually in use by the application. The following classes are `AbstractConnectionPool` subclasses ready to be used. .. autoclass:: SimpleConnectionPool .. note:: This pool class is useful only for single-threaded applications. .. index:: Multithread; Connection pooling .. autoclass:: ThreadedConnectionPool .. note:: This pool class can be safely used in multi-threaded applications.