Crear una base de datos Postgres usando python

Quiero crear una base de datos Postgres usando Python.

con = psql.connect(dbname='postgres',
      user=self.user_name, host='',
      password=self.password)

cur = con.cursor()
cur.execute("CREATE DATABASE %s  ;" % self.db_name)

Estoy teniendo el siguiente error:

InternalError: CREATE DATABASE cannot run inside a transaction block

Estoy usando psycopg2 para conectarme. No entiendo cuál es el problema. Lo que intento hacer es conectarme a la base de datos (Postgres):

psql -postgres -U UserName

Y luego crea otra base de datos:

create database test;

Esto es lo que suelo hacer y quiero automatizar esto creando un script Python.

Respuestas a la pregunta(2)

Su respuesta a la pregunta