Repository URL to install this package:
|
Version:
2.5 ▾
|
ó
EYc @ s? d Z d d l m Z m Z d d l Z d d l m Z d d l m Z d d l m Z m
Z
m Z m Z m
Z
m Z m Z d d l Z d d l m Z d
e j f d YZ d e f d
YZ d e f d YZ d e f d YZ d e
f d YZ d e f d YZ d e f d YZ e Z d S( s
.. dialect:: postgresql+pg8000
:name: pg8000
:dbapi: pg8000
:connectstring: postgresql+pg8000://user:password@host:port/dbname[?key=value&key=value...]
:url: https://pythonhosted.org/pg8000/
.. _pg8000_unicode:
Unicode
-------
pg8000 will encode / decode string values between it and the server using the
PostgreSQL ``client_encoding`` parameter; by default this is the value in
the ``postgresql.conf`` file, which often defaults to ``SQL_ASCII``.
Typically, this can be changed to ``utf-8``, as a more useful default::
#client_encoding = sql_ascii # actually, defaults to database
# encoding
client_encoding = utf8
The ``client_encoding`` can be overriden for a session by executing the SQL:
SET CLIENT_ENCODING TO 'utf8';
SQLAlchemy will execute this SQL on all new connections based on the value
passed to :func:`.create_engine` using the ``client_encoding`` parameter::
engine = create_engine(
"postgresql+pg8000://user:pass@host/dbname", client_encoding='utf8')
.. _pg8000_isolation_level:
pg8000 Transaction Isolation Level
-------------------------------------
The pg8000 dialect offers the same isolation level settings as that
of the :ref:`psycopg2 <psycopg2_isolation_level>` dialect:
* ``READ COMMITTED``
* ``READ UNCOMMITTED``
* ``REPEATABLE READ``
* ``SERIALIZABLE``
* ``AUTOCOMMIT``
.. versionadded:: 0.9.5 support for AUTOCOMMIT isolation level when using
pg8000.
.. seealso::
:ref:`postgresql_isolation_level`
:ref:`psycopg2_isolation_level`
i ( t utilt exciÿÿÿÿN( t
processors( t typesi ( t PGDialectt
PGCompilert PGIdentifierPreparert PGExecutionContextt _DECIMAL_TYPESt _FLOAT_TYPESt
_INT_TYPES( t JSONt
_PGNumericc B s e Z d Z RS( c C s£ | j r] | t k r+ t j t j | j S| t k sC | t k rG d St
j d | nB | t k rm d S| t k s
| t k r t j St
j d | d S( Ns Unknown PG numeric type: %d(
t asdecimalR R t to_decimal_processor_factoryt decimalt Decimalt _effective_decimal_return_scaleR R
t NoneR t InvalidRequestErrort to_float( t selft dialectt coltype( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt result_processorO s ( t __name__t
__module__R ( ( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR N s t _PGNumericNoBindc B s e Z d Z RS( c C s d S( N( R ( R R ( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt bind_processorf s ( R R R ( ( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR e s t _PGJSONc B s e Z d Z RS( c C s0 | j d k r d St t | j | | Sd S( Ni i
( i i
i ( t _dbapi_versionR t superR R ( R R R ( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR l s ( R R R ( ( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR j s t PGExecutionContext_pg8000c B s e Z RS( ( R R ( ( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR s s t PGCompiler_pg8000c B s e Z d Z d Z RS( c K s* | j | j | d | j | j | S( Ns %% ( t processt leftt right( R t binaryt operatort kw( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt visit_mod_binaryx s c C s, d | k r t j d n | j d d S( Ns %%s^ The SQLAlchemy postgresql dialect now automatically escapes '%' in text() expressions to '%%'.t %( R t warnt replace( R t text( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt post_process_text| s ( R R R( R- ( ( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR! w s t PGIdentifierPreparer_pg8000c B s e Z d Z RS( c C s( | j | j | j } | j d d S( NR) s %%( R+ t escape_quotet escape_to_quote( R t value( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt _escape_identifier
s ( R R R2 ( ( ( sZ /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR. s t PGDialect_pg8000c B s
e Z d Z e Z e Z d Z e Z e Z e
Z e Z
d Z e j e j i e e j 6e e j 6e e 6 Z d d Z d Z e j d Z e d Z d Z! d Z" d Z# d
Z$ d Z% d Z&