Commit after select
Actually, `PostgresqlDatabase` does call commit after every select query. How are you declaring / instantiating your database? What type of app is this?
 It's a QT app, working in Maya, connecting to DB to select the project, then the asset you will work on.
PostgresqlDatabase was instanciated with autocommit=False. I changed it to True, now it seems to work.
But why is the select run in transaction?
 > was instanciated with autocommit=False

This.

Unless you really understand Peewee's transaction management ID suggest using autocommit=True and using the provided `atomic` decorator/context manager when you want explicit transactions.
 But why is the select run in transaction?

@coleifer can you answer this question? The `SELECT` is "run in a transaction" because queries are always run in transactions, it's just that in autocommit mode those transactions are only 1 query long. In "autocommit" there's a commit() after each query to avoid leaving open, idle transactions. See #806 and #727 for a little more background.

I understand your question, but also bear in mind that when you're not within the scope of an explicit `atomic()` or `transaction()` block, then essentially each individual query you execute is going to be in its own transaction.
Hi!

I am using peewee with PostgreSQL. I have tons of connections, which are 'idle in transaction', even if they use only select statements. If I call commit(), it becomes 'idle'. Why is there a transaction for the selects? Do I need to explicitly call commit?

Example:

```
plist = Person.select()
for person in plist:
    print(person.name, person.birthday)
# db.commit()
raw_input("Press Enter to continue...")
```

This leaves the connection 'idle in transaction', when using commit(), it's ok.
What is the correct way to handle this?
Thanks.
