title: Psycopg2 - AttributeError: 'NoneType' object has no attribute 'fetchall'
body: <p>I have a Python script to list PostgreSQL schemas using psycopg2.</p>
  
  <pre><code>#!/usr/bin/env python
  
  import yaml
  import psycopg2
  
  def load_config(file_name):
      with open(file_name, 'r') as stream:
          config = yaml.load(stream)
      return config
  
  config = load_config('config.yml')['database']
  conn = psycopg2.connect(host=config['host'], port=config['port'], dbname=config['name'], user=config['user'], password=config['password'])
  cursor = conn.cursor()
  
  print('conn = %s' % conn)
  print('cursor = %s' % cursor)
  
  sql_list_schemas = """
  SELECT *
  FROM information_schema.schemata
  WHERE schema_name &lt;&gt; 'information_schema'
    AND schema_name !~ E'^pg_';
  """
  list_schemas = cursor.execute(sql_list_schemas)
  print('list_schemas = %s' % list_schemas)
  print('list_schemas.fetchall() = %s' % list_schemas.fetchall())
  </code></pre>
  
  <p>When I run the script, I got:</p>
  
  <pre><code>conn = &lt;connection object at 0x7f0e12eef050; dsn: 'user=test password=xxxxxxxxxxxxx host=127.0.0.1 port=5432 dbname=test', closed: 0&gt;
  cursor = &lt;cursor object at 0x7f0e1326c148; closed: 0&gt;
  list_schemas = None
  Traceback (most recent call last):
    File "./postgres_db_schema.py", line 26, in &lt;module&gt;
      print('list_schemas.fetchall() = %s' % list_schemas.fetchall())
  AttributeError: 'NoneType' object has no attribute 'fetchall'
  </code></pre>
  
  <p>I thought the SQL query is OK. When I execute the query using another PostgreSQL client, it returned some rows. Why did the <code>cursor.execute</code> return <code>None</code>? Is there something wrong in my script?</p>