問題タブ [django-postgresql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 地理フィールドを一意にする方法は?
私はこのモデルを持っています:
管理インターフェイスから Marker インスタンスを追加しようとすると、次のエラーが発生しますValueError
。
thisによると、タイプには実際にはフィールド ルックアップgeography
がありません。使用せずに制約exact
を達成する方法はありますか?unique
exact
私は使用しています:
- Postgresql 9.1
- PostGIS 1.5
- ジャンゴ 1.4.3
django - Django 1.4 でのアトミック データベース操作
この質問は、Django のアトミック操作に似ていますか? ただし、Django 1.4 の場合。「生のSQL」に頼らずにこれを行う方法があるかどうか疑問に思っています。私の設定は彼とは少し違うので、説明します。
UserのレコードとUserRecordsという汎用テーブルがあります。UserRecordの定義は次のとおりです。
ご覧のとおり、これは非常に一般的な k/v ストア テーブルであり、オプションの親属性を使用して、レコードをグループ化し、一部の検索を最適化するのに役立ちます。この場合、ユーザーにいくつかのエイリアスを追加したい場合に非常に便利です。
これにより、競合状態が発生し、ユーザーが同じエイリアスを 2 回入力すると、2 つの同一のレコードが作成される可能性があります。次に、UserRecord.objects.get
呼び出しが 2 つあるため、それぞれの呼び出しが失敗します。Django のエラー メールが届き、手動でデータベースを修正します。
ドキュメントには、アトミックに何かを作成できるものは何も見つかりません。他の質問で言及されている生のSQL以外のアイデアはありますか?
django - Heroku Django Postgre syncdb エラー
ヒロコ構成
設定.py
heroku run python manage.py syncdb
多くの人は英語を話せないため、説明できません。どうしたの?
postgresql - Postgresサーバーを起動する方法は?
私は実際にしばらくの間この問題を抱えていましたが、私はついにそれを引き受けることにしました。Postgresは最初にBrewを使用してインストールされました。
OSX 10.8.2にアップグレードした後、
入力したときのエラー
指図。
次のプロセスが表示されます。
python - DatabaseErrorを引き起こすDjango-Axes - トランザクションブロック
そこで、django を 1.4.5 に、postgres を 9.2.3 に、psycopg2 を 2.4.6 に更新しました。私runserver
とすべてが問題ないように見えますが、セッション/ミドルウェア.py(36)localhost:8000
に悪名高い「現在のトランザクションが中止されました..」と表示されます。request.session.save()
を実行syncdb
しましmigrate
たが、エラーや変更はありません。'DATABASES' - 'OPTIONS': {'autocommit': True, } にも追加しましたが、それでも役に立ちません。そして、私もこれを試しました:
ジャンゴシェルで。
また、次の方法でpostgresを停止しようとしました:
そして私は得る:
実行pg -ef|grep postgres
すると、ハングしているクエリは表示されません。
このブロックを解決するにはどうすればよいですか? 何が原因であるかを見つける方法は?
回答: このエラーを解決するために私が行ったことの要約
SQLロギングを有効にしました:
これにより、実行されているすべてのSQLステートメントが表示されました。これには、内部DBエラーを引き起こしたものも含まれます。これは、私の場合はdjango-axesが原因でした(以前にバージョン1.2.9にアップグレードしました)。
django-axes では、特定のテーブルを作成する必要があります。syncdb を再実行しても問題は解決しませんでした。テーブルの 1 つに変更がありました (新しいフィールド - ユーザー名)。
python manage.py sqlclear axes
-削除するテーブルを示したので、psqlに行ってそれを行いました。その後、もう一度実行しpython manage.py syncdb
て更新されたテーブルを取得しました。
そして、__init__.py
軸モジュール内のバグを見つけましたget_version()
- 間違った文字列フォーマット。この混乱をすべて解決した修正:)
最後はハッピーエンド!
python - Django-DjangoエラーページでDatabaseError「現在のトランザクションは中止されました」のデバッグ情報を取得するにはどうすればよいですか?
Djangoプロジェクトで開発しているときに、次のようなDatabaseErrorが発生します。
現在のトランザクションは中止され、トランザクションブロックが終了するまでコマンドは無視されます
これは、ロールバックなしで不正なPostgreSQLトランザクションが発生したために発生し、この不正なトランザクションのエラーはPostgreSQLエラーログで確認できるためです。ただし、このエラーがDjangoエラーページに表示されると、はるかに便利になると思います。次に、何が問題なのかを直接確認できます。
では、DjangoエラーページでこれらのPostgreSQLエラーを取得することは可能ですか?もしそうなら、どのように?
python - Django 長時間実行スクリプトと DB CPU 使用率
Django ORM を使用するスクリプトを実行しています。スクリプトは、場合によっては 3 日以上長時間実行されます。スクリプトは以下のようになります
わずかに異なるオプションで同時に実行される同じスクリプトの複数のインスタンスがあります。postgresql を使用しています。時間の経過とともに、これにより DB CPU が高くなります。ps は、postgres プロセスがトランザクションでアイドル状態であるが、CPU 使用率が異常に高いことを示しています。
django スクリプトを長時間実行する場合、特に db CPU 使用率が高い場合のベスト プラクティスは何だろうか。
ジャンゴ 1.4、Python 2.7、Postgresql 9.1
python - Django syncdb-以前にテーブルを作成したかどうか、または作成したかどうかをどのようにして知ることができますか?
Djangoプロジェクト用にPostgreでいくつかのテーブルを手動で作成しました。私も手動でモデルを作成しました。しようとするとsyncdb
、データベースエラーがスローされ、テーブルがすでに存在していると表示されます。
syncdbが以前にテーブルを作成した場合、これは発生しません。syncdbは、テーブルを作成したかどうか、またはテーブルを作成したかどうかをどのように認識しますか?
django - django(およびgunicorn + gevent)とのpostgresqlアイドル接続
私のスタックには、django (1.4.3)、psycopg2 (0.0.3)、および postgres (9.1) が含まれています。さらに、gunicorn と gevent でジャンゴを提供しているため、psycogreen.gevent.patch_psycopg を使用しています。
すべてが満足しているように見えますが、多くの (~40) データベース接続が開いています。django データベースのセットアップで「autocommit」を True に設定するまで、それらはすべて「トランザクションでアイドル状態」でした。現在、それらはすべて「アイドル」です。
これは私の pg_top 出力のサンプルです。
...そして、上記のような36行。
これは、psycogreen 用の私の gunicorn.conf のセットアップです。
2 つの質問:
- これらの開いている接続はすべて問題ありませんか? 私には多くの無駄なメモリ使用のように見えます。
- これは gevent または psycogreen に関連していますか? グリーンレット内でデータベースを明示的に使用していません。
django から開いたままのデータベース接続について多くのことを読みましたが、それはすべて、django にまだ開いているバグがあった約 2 年前のもののようです ( https://code.djangoproject.com/ticket/9964#comment: 51)。
どんな洞察も大歓迎です。