Python + PostgreSQL
jpeck at fedex.com
Wed Mar 18 04:38:41 CET 2009
Just thought I'd add that I've been using SQLAlchemy + Postgresql w/
psycopg2 driver with great success for a long time now. This is just a
preference, but I like using SQLAlchemy without the ORM. It has really good
support for basic low level stuff like defining tables, inserts and updates.
The big win for me has been the ease of moving apps between different
databases. I have had to do this several times, and the process is mostly
From: python-list-bounces+jpeck=fedex.com at python.org
[mailto:python-list-bounces+jpeck=fedex.com at python.org] On Behalf Of Philip
Sent: Tuesday, March 17, 2009 10:24 PM
To: python-list (General)
Subject: Re: Python + PostgreSQL
On Mar 17, 2009, at 10:57 PM, Lobo wrote:
> Many thanks to all for your valuable input.
> I've done some research and I believe I will use (at least for now, to
> make it simple) psycopg2 module to connect Python to PostgreSQL.
> I am wondering whether I can jump directly to Python 3.x (instead of
> using Python 2.6), depending of course on psycopg2 compatibility?.
You can, but as you observed you'll be running a patched version of
psycopg2. If this is the only extension module library you think
you'll need in your project, then running Python 3.x is fine.
Otherwise you might run into surprises when you find that there's a
lot fewer extensions available for 3.x than for 2.x. That's changing,
but it seems to be the state of the Python world today.
Case in point -- you said your project is a Web project, yes? Then
whatever Web framework you use will need to have been ported to 3.x.
At this point, I don't know if any of the major ones have been.
I know that as a new user you'd like to start using the latest &
greatest version of Python so that you don't put your project in a
position where you know you'll have to upgrade at some point in the
future, but that's probably your best course of action at the moment.
> I saw in a different post that psycopg2 does work on Python 3.x as
> long as a patch is applied (by Martin v. Löwis):
> Do you know where can I find this patch, and if it does fully solve
> any incompatibility issues to be able to use Python 3.x without
> Or should I just use Python 2.6?.
> What would you recommend?.
> Many thanks again,
> On Mar 17, 12:20 pm, Philip Semanchuk <phi... at semanchuk.com> wrote:
>> On Mar 17, 2009, at 12:46 PM, Lobo wrote:
>>> I am new to this newsgroup (and new to Python and PostgreSQL). My
>>> experience (17+ years) has been with Smalltalk (e.g. VAST) and
>>> databases (e.g. Versant, OmniBase).
>>> I now have a new project to develop web applications using the
>>> best possible versions of Python (3.x?) with PostgreSQL (8.x?, with
>>> pgAdmin 1.10?).
>>> I hope to get some hints as of what frameworks/modules to use for
>>> specific combination (Python + PostgreSQL)?, should I use django,
>>> zope, web2py, psycopg module, others?, what are their pros/cons?.
>> Hi Carlos,
>> You'll find a lot of libraries and projects aren't supporting Python
>> 3.x yet. Consider (as others have suggested) working in Python 2.6 to
>> ease the transition to 3.x when you & your libs are ready.
>> I've used Psycopg2 to talk to Postgres from Python and had great
>> success with it.
>> As far as Django versus Zope versus web2py versus Pylons versus
>> TurboGears versus... Well, there's enough flamewar material in there
>> to power New York for centuries. They've all got their strengths and
>> weaknesses. I know which I prefer but my needs and preferences are my
>> own and only you know yours.
>> One thing I will note is that Zope's database is an object hierarchy
>> which sounds like a familiar tool for you, so that might ease your
>> transition into the Python world.
>> Good luck
More information about the Python-list