1

でホストされているアプリのデータベースで完全なバキュームと再インデックスを実行したいと考えていますHeroku

リモートでherokuコマンドラインを介してそれを行う方法がわかりません。

以下のコマンドを使用して、ローカルの Mac osx マシンで実行できますterminal...

psql database_name
>> vaccuum full;
>> \q

reindex database database_name

完全なバキュームを実行し、Heroku でアプリのすべてのテーブルを再インデックス化するにはどうすればよいですか?

可能であれば、データベースをエクスポートせずに実行したいと考えています。

4

3 に答える 3

2

よし、お金を払わない限り、Heroku はこの機能をサポートしていないようだ。データベースをプルし、アクションを実行して、上流にプッシュする必要があるようです! 楽しい時間。

于 2012-05-21T22:50:34.377 に答える
1

psql コマンドラインまたはバッチ ファイルからパラメーターを渡すこともできます。最初のステートメントは、データベースに接続するために必要な詳細を収集します。

最後のプロンプトは、WHERE 列の IN() 句で使用される制約値を要求します。if 文字列はシングル クォートで囲み、コンマで区切ることを忘れないでください。

@echo off
echo "Test for Passing Params to PGSQL"
SET server=localhost
SET /P server="Server [%server%]: "

SET database=amedatamodel
SET /P database="Database [%database%]: "

SET port=5432
SET /P port="Port [%port%]: "

SET username=postgres
SET /P username="Username [%username%]: "
    
"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h %server% -U %username% -d %database% -p %port% -e -v -f cleanUp.sql

次に、SQL コード ファイルにクリーンアップ SQL、vacuum full を追加します (スペルに注意してください)。これを cleanUp.sql として保存します。

VACUUM FULL;

Windows では、ファイル全体を DOS BATch ファイル (.bat) として保存し、同じディレクトリに cleanUp.sql を保存して、バッチ ファイルを起動します。元のプロンプト スクリプトについて、EnterpriseDB の Dave Page に感謝します。

また、SQL で評価できるパラメーターをスクリプトに追加したい場合は、Norto さんの他の投稿もチェックしてください。投票してください。

于 2012-05-04T21:12:46.963 に答える
1

Heroku で psql インタラクティブ ターミナルを使用できます。Heroku PostgreSQLから:

システムに PostgreSQL がインストールされている場合は、リモート db に対して直接 psql コンソールを開くことができます。

$ heroku pg:psql

Connecting to HEROKU_POSTGRESQL_RED... done
psql (9.1.3, server 9.1.3)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.

rd2lk8ev3jt5j50=>

于 2012-05-04T03:38:34.137 に答える