playhouse PostgresqlExtDatabase/PostgresqlExtCompiler
The problem is in how you're instantiating the compiler.  Try this instead, it will work:

``` python
compiler = db.compiler()
print compiler.create_table(MyModel)
```
 @coleifer Thanks! It works.
 Awesome!

Im on Mac OS X 10.9 with PyPy 2.1.0 and PostgreSQL 9.3.1, having
peewee 2.1.5 and psycopg2ct 2.4.4
I study how peewee builds SQL strings

When I trying to use Postgres extension like this:

```
# -*- coding: utf-8 -*-
from psycopg2ct import compat
compat.register()

import peewee as pw
import playhouse.postgres_ext as pp

db = pp.PostgresqlExtDatabase('mydb')

class MyModel(pw.Model):
    class Meta:
        database = db
    some_value = pw.IntegerField()
    some_uuid = pp.UUIDField()

print pp.PostgresqlExtCompiler().create_table(MyModel)
```

I Have this error message:

```
/Users/user/Projects/pypy/bin/pypy /Users/user/Projects/pypy-flask/pp-test.py
Traceback (most recent call last):
  File "app_main.py", line 72, in run_toplevel
  File "/Users/user/Projects/pypy-flask/pp-test.py", line 17, in <module>
    print pp.PostgresqlExtCompiler().create_table(MyModel)
  File "/Users/user/Projects/pypy/site-packages/peewee.py", line 1102, in create_table
    return ' '.join(self.create_table_sql(model_class, safe))
  File "/Users/user/Projects/pypy/site-packages/peewee.py", line 1093, in create_table_sql
    columns = map(self.field_sql, meta.get_fields())
  File "/Users/user/Projects/pypy/site-packages/peewee.py", line 1061, in field_sql
    attrs['column_type'] = self.get_field(field.get_db_field())
  File "/Users/user/Projects/pypy/site-packages/peewee.py", line 795, in get_field
    return self._field_map[f]
KeyError: 'uuid'

Process finished with exit code 1
```

These errors go away if I add `'uuid'` to `PostgresqlExtCompiler.field_map`:

```
# -*- coding: utf-8 -*-
from psycopg2ct import compat
compat.register()

import peewee as pw
import playhouse.postgres_ext as pp

pp.PostgresqlExtCompiler().field_map['uuid'] = 'UUID'

db = pp.PostgresqlExtDatabase('mydb')

class MyModel(pw.Model):
    class Meta:
        database = db

    some_value = pw.IntegerField()
    some_uuid = pp.UUIDField()

print pp.PostgresqlExtCompiler().create_table(MyModel)

# but this also patches pw.QueryCompiler:    
import pprint
pprint.pprint(pw.QueryCompiler.field_map)

/Users/user/Projects/pypy/bin/pypy /Users/user/Projects/pypy-flask/pp-test.py
CREATE TABLE "mymodel" ("id" INTEGER NOT NULL PRIMARY KEY, "some_value" INTEGER NOT NULL, "some_uuid" UUID NOT NULL)
{'bigint': 'BIGINT',
 'blob': 'BLOB',
 'bool': 'SMALLINT',
 'date': 'DATE',
 'datetime': 'DATETIME',
 'decimal': 'DECIMAL',
 'double': 'REAL',
 'float': 'REAL',
 'int': 'INTEGER',
 'primary_key': 'INTEGER',
 'string': 'VARCHAR',
 'text': 'TEXT',
 'time': 'TIME',
 'uuid': 'UUID'}

Process finished with exit code 0
```

**The question is:**
Am I doing something wrong? 
Or is it really need to add custom field types to `QueryCompiler`?
Or is it a bug in `PostgresqlExtDatabase.register_fields(...)` (or, may be, somewhere else)?
