2017-06-15 28 views
-1

私は3分ごとにクエリを起動するcronジョブを持っています。発砲ごとに、データは私のdbに入力されます。だから私のデータベースは、各間隔の後に成長を続けます。しかし、私は最新の行だけに興味があります。それは安全ですか? postgresqlは最も古いエントリを自動的に切り捨てますか?postgresqlの行数の安全な制限は何ですか?

+2

最近挿入された行だけに興味がある場合は、挿入する前に古い行を削除しないでください。または、ただ1つの行を持ち、毎回更新してください。データベースエンジンは自動的にデータを破棄しません。 – marekful

+1

PostgreSQLのテーブルの行数はデバイスのサイズによってのみ制限されますが、前のコメントと同じように、たくさんの行を必要としない場合は収集しますか? – Renzo

+0

あなたのタイトルをgoogleしてください。常に。 – philipxy

答えて

1

あなたのcronジョブの要点を投稿すると、より良い回答が得られます。

直接挿入の場合は、不要な古いデータを削除する前に切り捨てを実行します。削除も可能ですが、多くの死んだタプルが残ってしまい、定期的にテーブルを空にする必要があります。

アップデートは良い選択ですが、どれだけのデータが静的でどれくらいではないかによって異なります。例えば。任意の列で値を繰り返す場合は、更新のために移動します。これはまた、死んだタプルと掃除の対象になります。

外部ソース(たとえばcsv、json、xml)からロードする場合、既存のデータを自動的に上書きする方法があります。 pg_loaderはオプションです。

関連する問題