7日以上経過しているテーブルの行を削除したいとします。これを行う最善の方法は何ですか?毎晩実行されるcronジョブを作成するか、PostgreSQLはこれを行うための機能を組み込んでいますか?PostgreSQLはローリングベースで古い行を削除しますか?
7
A
答えて
10
delete from the_table
where the_timestamp < now() - interval '7 days'
1
DBジョブをスケジュールする最も簡単な方法は、psql
を使用してSQLスクリプトを実行するcronジョブを作成することです。
Here
約psql
を読むことができます。 -f
または-c
を使用して、SQLコマンドをpsql
に渡します。また
現在ので、ビルトインのcronのような機能を持っていない、あなたの仕事をしてPL/pgSQL関数を、書き、SELECT my_function();
2
のPostgreSQLとpsql
からそれを呼び出すことが容易であるかもしれません適切なdelete文を実行するには、システムのcronを使用します。タイムスタンプ列にすでにbtreeインデックスがある場合は、一度に小さなチャンクを取り出して夜間より頻繁に削除を実行することもできます。インデックスを持っていない場合は、オフピーク時に夜間に実行する方が良いでしょう。
必要なパフォーマンスが得られない場合は、パーティションを作成してみてください。しかし、私は最後の手段として、最初の手段ではないでしょう。
関連する問題
- 1. SQLAlchemy/PostgreSQLで古いレコードを削除する
- 2. win7の古いPostgreSQLデータディレクトリを削除する
- 3. Djangoのストレージバックエンドは古い静的ファイルを削除しますか?
- 4. S3で古いファイルを削除または削除する方法は?
- 5. mysqlは最後の5行を保持し、古いレコードを削除します
- 6. 古いデータを弾性検索から削除または削除する
- 7. KMLファイルを削除して古いKMLファイルを削除する
- 8. トリガーの行を削除する(PostgreSQL)
- 9. 古い重複レコードを選択して削除しますか?
- 10. HTMLテーブルから古い行を削除し、1回のクリックで新しい行を挿入します。
- 11. 古いエントリを削除するには?
- 12. elasticsearchで古いインデックスを削除する
- 13. ログで古いディレクトリを削除する
- 14. mongodb古いチャットを削除
- 15. のPostgreSQLで、削除
- 16. mysqlの古い行を削除するには?
- 17. gitから古いコミット済みファイルを削除します
- 18. Angularjs:DOMから古いリストアイテムの値を削除します
- 19. 古いPostgresのバージョンをMacから削除します
- 20. X日より古いディレクトリを削除しますか?
- 21. TFS VS2010から古いワークスペースを削除します。
- 22. xcodeから古い/未使用のプロビジョニングプロファイルを削除します
- 23. ポータル・サーバーから古いポートレットを削除します
- 24. Laravel 5 - firstOrCreate()および古いアイテムを削除しますか?
- 25. Googleフォームで古いデータ行を削除する
- 26. Sequelize HasMany BelongsToManyは古い参照を削除します
- 27. JqueryMobile Listviewは古い値を削除します
- 28. MySQLは古い*時間を削除します
- 29. Tensorflowは古いモデルファイルを自動的に削除します
- 30. 毎週SQLiteの古いレコードを削除できますか?
行にタイムスタンプはありますか? –
行にタイムスタンプがあります – Arya
なぜデータを削除するのですか?毎晩ジョブを実行すると、ジョブが実行される直前のほぼ8日間のデータが得られます。なぜ、時間ごとに実行するのか、1分ごとに実行するのでしょうか。 – Josh