問題タブ [vacuum]
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.
postgresql - PostgreSQL Long VACUUM
現在、2つのインデックスと2億5000万のアクティブな行、およびほぼ同じ数(またはそれ以上)のデッド行を持つテーブルをクリーンアップしています。クライアントコンピューター(ラップトップ)からサーバーにコマンドVACCUMFULLANALYZEを発行しました。過去3〜4日ほどビジネスを続けています。やらなければいけないことがたくさんあるので、もうすぐ終わるのではないかと思います!
サーバーには、クアッドコードXeon 2.66 GHzプロセッサ、12 GBまたはRAM、およびRAID1構成の2x 10K rpm 146 GBSASHDに接続されたRAIDコントローラーがあります。SuseLinuxを実行しています。不思議なんだけど...
さて、まず、VACUUMポストマスタープロセスは1つのコアのみを使用しているようです。第二に、I/Oアイドル時間の比率に対するI/O書き込みが非常に高くないことです。第三に、呼び出しからprocinfo
、VACUUMプロセスがほとんどの時間(88%)をI/0の待機に費やしていると推定できます。
では、RAIDコントローラーを過負荷にする(アイドル率に対するI / O書き込みを高くする)ために、スレッドを介してより多くのコアを利用しないのはなぜですか?I / O負荷が高くないのに、なぜI / Oを待機しているのですか?このすべてのパワー/リソースをすぐに利用できるのに、なぜ速くならないのでしょうか。VACUUMはマルチスレッド化できるし、マルチスレッド化する必要があるように思えます。特に、巨大なテーブルで動作していて、それが唯一動作している場合はそうです。
また、postgresql.confを構成してそのようなVACUUMをマルチスレッド化する方法はありますか?それを殺しても、部分的なクリーンアップの恩恵を受けることはできますか?そのテーブルで作業する必要があります。
[PostgreSQL8.1を使用しています]
再びThx
optimization - postgresqlでバキューム/インデックスの再作成が必要なテーブルを自動的に決定する方法
データベースのメンテナンススクリプトを作成しました。毎日のダウンタイム中にバキューム/インデックスの再作成が最も必要なテーブルでそのスクリプトを実行したいと思います。postgres内でそれを判断する方法はありますか?
私はこのように注意が必要なテーブルを分類します:
- 掃除機が必要なテーブル
- インデックスの再作成が必要なテーブル(これによりパフォーマンスに大きな違いが生じることがわかります)
ここで大まかに有望なものが見えます
python - PostgreSQL-トランザクションブロック外のコードからVACUUMを実行する方法は?
私はpsycopg2でPythonを使用しており、VACUUM
数千行を挿入する毎日の操作の後に完全に実行しようとしています。問題は、コード内でコマンドを実行しようとするとVACUUM
、次のエラーが発生することです。
トランザクションブロックの外部のコードからこれを実行するにはどうすればよいですか?
違いが生じる場合は、単純なDB抽象化クラスがあり、そのサブセットがコンテキスト用に以下に表示されます(実行不可、例外処理とdocstringが省略され、行間調整が行われます)。
sql - $ dbh-> do('VACUUM')がPerlのDBD :: SQLiteで失敗するのはなぜですか?
Perlの下のSQLiteデータベースで特定の時間にやりたいのですVACUUM
が、それはいつも言います
DBD :: SQLite :: dbが失敗しました:トランザクション内からVACUUMできません
では、どうすればこれを行うことができますか?
私はを使用してAutoCommit => 0
います。そして、エラーは次の間に発生します。
postgresql - postgreSQL 真空一時ファイル?
私は「ちょっとした」問題を抱えています。1 週間前、データベースがディスク容量いっぱいになりました。ディスク領域を解放しようとして、さまざまなテーブルの多くの行を削除しました。その後、完全な真空を実行しようとしましたが、完了しませんでした。
私が知りたいのは。バキュームの完全な完了を停止した場合、手動で削除する必要がある一時ファイルがディスクに残りますか? 現在、ディスク容量が 100% のデータベースがありますが、これは言うまでもなく大きな問題です。
ディスク領域を解放するためのヒントはありますか?
postgres 8.1.4 データベースで SUSE を実行しています。
sqlite - Core Data SQLite db を VACUUM する方法は?
設計上、Core Data は SQLite データベースにVACUUM SQL コマンドを発行しません。詳しくはこちらをご覧ください。SQLite db に大きなバイナリ ファイル (サイズが 2 ~ 10 MB) を格納し、後で削除する Core Data アプリケーションを作成しています。これにより、時間の経過とともに断片化が発生し、SQLite データベースが必要以上に大きくなります。たとえば、実行するクリーンアップ操作中に定期的に VACUUM コマンドを発行したいと考えています。
- Core Data の SQLite ストアに VACUUM コマンドをプログラム的に発行するにはどうすればよいですか?
- Core Data を介してこれを行うことは可能ですか、それとも SQLite db をマウントし、それに直接接続して VACUUM SQL を実行する必要がありますか?
database - データベースにバキュームを実行するとはどういう意味ですか?
この Firefox のバグで参照されているように、データベースをバキュームする行為は何を達成しますか? この操作は最新のすべてのデータベース ソフトウェアでサポートされていますか、それとも特定のデータベース ソフトウェアのみでサポートされていますか?