問題タブ [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.

0 投票する
2 に答える
617 参照

django - 地理フィールドを一意にする方法は?

私はこのモデルを持っています:

管理インターフェイスから Marker インスタンスを追加しようとすると、次のエラーが発生しますValueError

thisによると、タイプには実際にはフィールド ルックアップgeographyがありません。使用せずに制約exactを達成する方法はありますか?uniqueexact

私は使用しています:

  • Postgresql 9.1
  • PostGIS 1.5
  • ジャンゴ 1.4.3
0 投票する
0 に答える
231 参照

django - Django 1.4 でのアトミック データベース操作

この質問は、Django のアトミック操作に似ていますか? ただし、Django 1.4 の場合。「生のSQL」に頼らずにこれを行う方法があるかどうか疑問に思っています。私の設定は彼とは少し違うので、説明します。

UserのレコードとUserRecordsという汎用テーブルがあります。UserRecordの定義は次のとおりです。

ご覧のとおり、これは非常に一般的な k/v ストア テーブルであり、オプションの属性を使用して、レコードをグループ化し、一部の検索を最適化するのに役立ちます。この場合、ユーザーにいくつかのエイリアスを追加したい場合に非常に便利です。

これにより、競合状態が発生し、ユーザーが同じエイリアスを 2 回入力すると、2 つの同一のレコードが作成される可能性があります。次に、UserRecord.objects.get呼び出しが 2 つあるため、それぞれの呼び出しが失敗します。Django のエラー メールが届き、手動でデータベースを修正します。

ドキュメントには、アトミックに何かを作成できるものは何も見つかりません。他の質問で言及されている生のSQL以外のアイデアはありますか?

0 投票する
1 に答える
374 参照

django - Heroku Django Postgre syncdb エラー

ヒロコ構成

設定.py

heroku run python manage.py syncdb

多くの人は英語を話せないため、説明できません。どうしたの?

0 投票する
1 に答える
31774 参照

postgresql - Postgresサーバーを起動する方法は?

私は実際にしばらくの間この問題を抱えていましたが、私はついにそれを引き受けることにしました。Postgresは最初にBrewを使用してインストールされました。

OSX 10.8.2にアップグレードした後、

入力したときのエラー

指図。

次のプロセスが表示されます。

0 投票する
0 に答える
271 参照

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()- 間違った文字列フォーマット。この混乱をすべて解決した修正:)

最後はハッピーエンド!

0 投票する
1 に答える
953 参照

python - Django-DjangoエラーページでDatabaseError「現在のトランザクションは中止されました」のデバッグ情報を取得するにはどうすればよいですか?

Djangoプロジェクトで開発しているときに、次のようなDatabaseErrorが発生します。

現在のトランザクションは中止され、トランザクションブロックが終了するまでコマンドは無視されます

これは、ロールバックなしで不正なPostgreSQLトランザクションが発生したために発生し、この不正なトランザクションのエラーはPostgreSQLエラーログで確認できるためです。ただし、このエラーがDjangoエラーページに表示されると、はるかに便利になると思います。次に、何が問題なのかを直接確認できます。

では、DjangoエラーページでこれらのPostgreSQLエラーを取得することは可能ですか?もしそうなら、どのように?

0 投票する
0 に答える
251 参照

python - Django 長時間実行スクリプトと DB CPU 使用率

Django ORM を使用するスクリプトを実行しています。スクリプトは、場合によっては 3 日以上長時間実行されます。スクリプトは以下のようになります

わずかに異なるオプションで同時に実行される同じスクリプトの複数のインスタンスがあります。postgresql を使用しています。時間の経過とともに、これにより DB CPU が高くなります。ps は、postgres プロセスがトランザクションでアイドル状態であるが、CPU 使用率が異常に高いことを示しています。

django スクリプトを長時間実行する場合、特に db CPU 使用率が高い場合のベスト プラクティスは何だろうか。

ジャンゴ 1.4、Python 2.7、Postgresql 9.1

0 投票する
1 に答える
188 参照

python - Django syncdb-以前にテーブルを作成したかどうか、または作成したかどうかをどのようにして知ることができますか?

Djangoプロジェクト用にPostgreでいくつかのテーブルを手動で作成しました。私も手動でモデルを作成しました。しようとするとsyncdb、データベースエラーがスローされ、テーブルがすでに存在していると表示されます。

syncdbが以前にテーブルを作成した場合、これは発生しません。syncdbは、テーブルを作成したかどうか、またはテーブルを作成したかどうかをどのように認識しますか?

0 投票する
0 に答える
2397 参照

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 つの質問:

  1. これらの開いている接続はすべて問題ありませんか? 私には多くの無駄なメモリ使用のように見えます。
  2. これは gevent または psycogreen に関連していますか? グリーンレット内でデータベースを明示的に使用していません。

django から開いたままのデータベース接続について多くのことを読みましたが、それはすべて、django にまだ開いているバグがあった約 2 年前のもののようです ( https://code.djangoproject.com/ticket/9964#comment: 51)。

どんな洞察も大歓迎です。