2017-09-25 2 views
-1

私は2,3ヶ月前にPostgreSQLデータベースを初めてインストールしましたが、すべてのインストールデフォルトを受け入れました。限界。データベース(つまりデータファイル)をD:ドライブに移行したいのですが、十分なスペースがあります。PostgreSQL 9.5.7のWindows 10インストールをより大きなディスクに移行する方法

私はこの件に関していくつかのスレッドを見つけましたが、それらの情報は現在のバージョンとは関係がないようです(PostgreSQLデータベースの起動時に-Dパラメータを使用してデータファイルが渡され、これはもはやケース)

であるように思わないこれは私が

  • は、PostgreSQLのプロセスのためのタスクマネージャ(「PostgreSQLサーバ」の複数のインスタンス)

  • をチェックこれまで続いてきた段階です
  • のPostgres(メニュー、PostgreSQLの、停止のPostgreSQL 9.5を起動します)

  • はPostgresのプロセスのためのタスクマネージャをチェックシャットダウンします(「PostgreSQLサーバ」のすべてのインスタンスが停止している)

  • はいるようだディレクトリをコピーしました私のD:ドライブにすべてのデータファイルを格納する(つまり、コピーされたC:\ PostgresSQLの\データ\ pg95にD:\ PostgresSQLの\データ\のpg95)

  • は新しいディレクトリへのフルアクセスを与えたに 'ネットワークサービス'

  • 編集C:\ PostgresSQLの\データ\ pg95 \ postgresql.confのは、 'ファイルの場所' セクション

    data_directory = 'D:\PostgresSQL\data\pg95' 
    
    hba_file = 'C:\PostgreSQL\data\pg95\pg_hba.conf' 
    
    ident_file = ‘C:\PostgreSQL\data\pg95\pg_ident.conf' 
    
  • リスタートのPostgresで次の新しい行を含めるために(スタートメニュー、PostgreSQLの、スタートのPostgreSQL 9.5)

この結果は、タスクマネージャをチェックした後にPostgresプロセスの兆候がないことです。プロセスを開始しようとすると、エラーの兆候はありません。

PostgreSQLをより大きなディスクに移行する正しい手順は何ですか?

+0

Windowsサービスを再作成しましたか?データディレクトリの場所( '-D'オプション)はパラメータとしてサービスに渡され、それを変更する必要があります。 –

+0

私のサービスのための '実行可能ファイルへのパス'はC:\ PostgreSQL \ pg95 \ pgservice.exeです。// RS // PostgreSQL 9.5 Server "データディレクトリに言及したスレッド( '-D'オプション) C:\ Program Files \ PostgreSQL \ 9.5 \ bin \ pg_ctl.exe "runservice -N" postgresql-x64-9.5 "-D" C:\ Program Files \ PostgreSQL \ 9.5 \ data "これは私のサービスとは大きく異なるので、もう適用されないと思いますか? – Hemel

+0

よく '-D" C:\ Program Files \ PostgreSQL \ 9.5 \ dataは '-D 'にする必要がありますD:\ PostgresSQL \ data \ pg95'' –

答えて

0

私は自分の質問に答えてくれたと思う。

は、まず、私の「データディレクトリ」は、それがWindowsのインストールであるにもかかわらず、第二に

D:\PostgreSQL\data\pg95. 

をだ

D:\PostgreSQL\data 

ではない、PostgreSQLがパスにスラッシュを見ることを期待ようなのでエントリーpostgresql.confの中で、スラッシュではなくスラッシュを使用する必要があります。

PostgreSQLサービスは、次のコマンドで開始します(スタートメニュー - > P ostgreSQL-> PostgreSQL 9.5を起動してください)

C:\WINDOWS\system32\sc.exe start "PostgreSQL 9.5 Server" 

私はそれを次のように変更しました。

C:\WINDOWS\system32\sc.exe start "PostgreSQL 9.5 Server" -D "D:/PostgreSQL/data/pg95" 

私はpostgreSQLを再起動してデータベースにアクセスできました。データファイルのではなく、元の(C:ドライブ)私は

c:\PostgresSQL\data\pg95\base to c:\PostgresSQL\data\pg95\baseXXX 

の名前を変更したバージョンは、これまで動作しているようです:私は本当に新しいコピー(ドライブD)にアクセスしていることを自分自身に証明するために

+0

yojuは、そのファイルが存在する場合、 'postgresql.conf'にデータディレクトリを指定する必要はありませんデータディレクトリ。 Postgresの起動時にその場所を渡すだけで十分です –

関連する問題