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. win7の古いPostgreSQLデータディレクトリを削除する
- 2. Djangoのストレージバックエンドは古い静的ファイルを削除しますか?
- 3. mysqlは最後の5行を保持し、古いレコードを削除します
- 4. S3で古いファイルを削除または削除する方法は?
- 5. トリガーの行を削除する(PostgreSQL)
- 6. KMLファイルを削除して古いKMLファイルを削除する
- 7. 古いデータを弾性検索から削除または削除する
- 8. のPostgreSQLで、削除
- 9. 古い重複レコードを選択して削除しますか?
- 10. mongodb古いチャットを削除
- 11. elasticsearchで古いインデックスを削除する
- 12. ログで古いディレクトリを削除する
- 13. ポータル・サーバーから古いポートレットを削除します
- 14. xcodeから古い/未使用のプロビジョニングプロファイルを削除します
- 15. Sequelize HasMany BelongsToManyは古い参照を削除します
- 16. JqueryMobile Listviewは古い値を削除します
- 17. 古いPHPバージョンを削除しようとしています
- 18. PowerShellで最も古いバージョンのディレクトリを削除します。
- 19. lftp/ftpで古いバックアップフォルダを削除します
- 20. PostgreSQLでキャリッジリターンと改行を削除するには?
- 21. 新しいPostgreSQLデータベースを削除します
- 22. AJAX.Net - UpdatePanelは古いコンテンツを削除しません
- 23. PostgreSQLのカスケード削除
- 24. 古い図を描き、削除する
- 25. SQLite古いデータを削除する
- 26. Python - 古いファイルを削除する
- 27. コンソールの古いブランチを削除する
- 28. x日より古いアンドロイドのsqllite行を削除する
- 29. 古い移行の差分を削除する
- 30. Sonatype Nexusの古いインデックスを削除します
行にタイムスタンプはありますか? –
行にタイムスタンプがあります – Arya
なぜデータを削除するのですか?毎晩ジョブを実行すると、ジョブが実行される直前のほぼ8日間のデータが得られます。なぜ、時間ごとに実行するのか、1分ごとに実行するのでしょうか。 – Josh