2008年12月 8日

Python | Django PostgreSQLのテーブルスペース

先日のエントリー関連。

データベースバックエンドは組み込みのもの以外でも利用できるようになっているので、PostgreSQLでテーブルスペースが使えるように拡張したバックエンドモジュールを作成してみました。

ダウンロードはsourceforge.jpから

インストールしたら、

DATABASE_ENGINE = 'strippers.django.db.backends.postgresql_psycopg2'
DEFAULT_TABLESPACE = 'デフォルトで使用するテーブルスペース名'
TEST_TABLESPACE = 'テスト時に使用するテーブルスペース名'
と、Djangoを設定します。TEST_TABLESPACEは独自の設定項目です。
DATABASE_ENGINEの名前が示すように、組み込みのpsycopg2用モジュールを継承した形になってます。

テスト時だけPostgreSQLのデフォルトテーブルスペース(pg_default)以外を使用したい場合は、TEST_TABLESPACEだけ定義すればOK。
DEFAULT_TABLESPACEが定義されている場合、syncdb時にもテスト時にもそのテーブルスペースが使われます。但し、TEST_TABLESPACEがDEFAULT_TABLESPACEより優先されます。

現在のところ、データベース生成時にしか使われません(モデルフィールドのField.db_tablespaceには未対応)。

Posted by otsuka : 21:12 | Comment (0) | Trackback (0)
Comment









名前、アドレスを登録しますか?