2017-02-22 5 views
1

Oracle VirtualBoxのゲストVMとしてCentOS 7.3を使用しています。ホストはWindows 7で、Postgres用のデータディレクトリを格納する物理USBスティック(別名フラッシュドライブ)があります。私はLinuxのマウントされたディレクトリとしてUSBスティックを使うことができます。私はそれにファイルを読み書きすることができます。LinuxサーバでPostgresデータベースの場所をどのようにカスタマイズしますか?

私はUSBスティックにPostgresデータベースを持つことができると期待しています。しかし私は私のUSBスティックでPostgresデータベースを取得することはできません。 Linux VMにPostgresをインストールしました。

Postgresのデフォルトのデータディレクトリを変更するには、私はこれらを倣ってdirectionsです。これら二つのコマンドで

あなたがリンクに行く時間がない場合は、私は単にインストールのPostgres:私はしようその後

mv /var/lib/pgsql/data/* /mnt/windows-share/data 

ln -s /mnt/windows-share /var/lib/pgsql/data 

yum -y install postgresql-server postgresql-contrib 

postgresql-setup initdb 

その後、私はこれらの2つのコマンドを実行しましたPostgresサービスを開始すると、エラーが発生します。ここで

は、私が(rootで)試してくださいコマンドです:

ここではPostgreSQL

を開始systemctlエラーです:

Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for detail.

私はsystemctl status postgresql.serviceを試してみましたが、私はこれが見つかりました:

Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled vendorpreset: disabled)

Active: failed (Result exit-code)... Process ... ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=1/FAILURE)

... failed to start PostgreSQL... ...Unit postgresql.service... ...postgresql.service failed

私はjournalctl -xeを使用しましたが、それは私に意味のあるもの。

postgresql-setup initdb --pgdata=/mnt/windows-share/ 

しかし、私はカスタマイズされたデータディレクトリにインストールPostgresのを取得するにはどうすればよい

failed to find PGDATA setting in --pgdata=/mnt/mar/data.service

を得た:Postgresのデフォルトのデータディレクトリを変更するには

は、私はこれを試してみましたか?私はそれを "/ mnt /"ディレクトリに入れる必要があります。私はすべてのデータベースをUSBスティックで作成したいと思っています。

+0

postgresユーザーが共有フォルダにアクセスするための正しいグループにありますか? – david25272

答えて

0

私はCentOS 6で同じ問題を解決しました 多分それを試すことができます。

  1. # mkdir /hdd2
    # mount -t ext3 /dev/sdb1 /hdd2/
  2. ディスクが存在している(私の場合には、新たなディスクがあるの/ dev/sdb1が/)

    # fdisk -l
  3. をチェックマウント新しいディスクにディスクを追加します。

  4. 新しい行を追加してハードディスクを自動マウント:

    # vi /etc/fstab 
    Add line: /dev/sdb1 /hdd2 ext3 defaults 0 0 
    
  5. コンフィグpostgresの

    # service postgresql stop
    # vi /etc/sysconfig/pgsql/postgresql 
    Add line: PGDATA=/hdd2/data 
    
    # service postgresql start

はあなたにそれが役に立つホープ!!

+0

"/ etc/sysconfig/pgsql/postgresql"というファイルはありません。/etc/selinux/targetd/active/modules/100/postgresql 3)/etc/pam.d/postgresql 4)/ usr/libexec/initscripts/legacy- actions/postgresqlどうすればいいですか? – Alex111

+0

@ Alex111あなたのシステムはRedhatです、右ですか?このパス '3)/etc/pam.d/postgresql'でconfigを試すことができます。あなたに何かがあるかどうか私に知らせてください。 – nmtri

関連する問題