Currently SQLObject can only create an empty DB on PostgreSQL, and even
this has its limitations.
  Usually one has to have administrative rights to create a new DB, and
then delegates rights to connect to the new DB to another user
(login/password), so it'd be hard to implement in SQLObject.
  But if you know how to do this properly on Firebird - please show some
code.

Right now I am cheating a little bit ;-) :
import kinterbasdb
con = kinterbasdb.create_database("create database '%s' user 'sysdba' password 'masterkey'" % db_filename)

Petr