2011-07-25 5 views
7

私は数ヶ月前にkyngchaosインストーラでpostgresをインストールしました。 OSX Lionにアップデートしましたが、データベースサーバが起動しません。ライオンアップデートにより 'postgres'ユーザーが削除されました。それを復元するには?

kyngchaosさんのブログ(http://www.kyngchaos.com/blog/2011/20110723_lion)にコメントしましたが、私は 'postgres'ユーザーを見ました:それはもう存在しません!少なくとも、私はもう "sudo su postgres"はできません。だから私はそれが私のサーバが動かない理由だと思う。

どうすればそのユーザーを復元できますか?

+0

は、再インストールを試してみましたか? –

+0

kyngchaosが彼のブログに新しいユーザーがいないために新しくインストールされたものがまだ動作しないと言っているので、再インストールはまだ試していませんでした。 –

+0

この場合、ユーザーを追加してみてください。おそらくchown -Rは関連するフォルダです。 –

答えて

3

最後に

を(自分自身を答える)、私が行うために必要な唯一のものは「Postgresの」ユーザーを再作成することでした。事前に/usr/local/pgsql/の内容を列挙し、例えばdata/ディレクトリがユーザ101とグループpostgresの所有であることを確認しました。だから私は、101ユーザーIDにそのpostgresユーザを結びつけるために望んでいた:

sudo dscl . -create /Users/postgres 
sudo dscl . -create /Users/postgres UniqueID 101 

(そして、私は手でそれはpostgresサーバを起動する方法を知らなかったので、その後、私は... ;-)

+1

'sudo -u postgres PGDATA =/usr/local/pgsql-9.0/data /usr/local/pgsql-9.0/bin/pg_ctl start' –

0

私は同様の問題を抱えていて、コンソールでsystem.logを調べると、postgresqlデータディレクトリのアクセス許可に関するさまざまなメッセージがありました。私はchownと他のもので遊んだが、単に再インストールしてしまった。今はすべてうまく動いている。

2
を私のMacを再起動します

あなたのdsclコマンドでは、-createを実行するのではなく、-appendを実行すると思います。 Appleはアンダーバーの前にデーモンのユーザー名を付ける傾向があります。そこでAppleはおそらくユーザー101の_postgresラベルを作成しました。-createを実行すると、デフォルトの_postgresユーザーが削除され、それをpostgresに置き換えることで、他の問題が発生する可能性があります。あなたが-appendをすれば、あなたはどちらか_postgresまたはpostgresは、いずれの場合においても、ユーザ101のユーザーを参照することができに対し、あなたは、土地のレイアウトを知っているだけのようにどちらか-createまたは-appendを行う前に、-listを行う必要があります。

注:私はまだSnow Leopardのを実行しているので、101が実際に_postgresであることをユーザーに確認することはできませんが、私はAppleがまだヒョウ& Snow Leopardのと同じ命名規則を使用している期待し、それはそれが動作するはずです方法です。 -listを実行すると、私の疑惑を確認するために知っておくべきことが表示されます。

+0

警告ありがとうございます。幸いにも私はあらかじめその "リスト"を作成しました。 * _postgresユーザーがいましたが、それにはuserid 216などがあり、postgresディレクトリのuseridは101でした。また、 "sudo su postgres"できなくなったので、postgres-without-underscoreのユーザーは本当になくなりました。私はどこかでosxにpostgresが含まれていることを読んでいます。おそらく内部的なもののために_postgresユーザーの根底にある理由です。 –

0

マウンテンライオンで@ Reinout van Reesの回答に続いて、適切なユーザーが見つかりませんでした。 これらは、この作業を取得するために私の手順です。

  • ダウンロードし、ローカルLDAPへWorkgroup Manger
  • ログインをインストール:{サーバー:127.0.01、のuname:[あなたのuname]、PW:[あなたのPW]}
  • すべてのアカウントを表示するように表示 - >システム記録を表示
  • チェックpostgresは存在しません。他のユーザーIDは101ではありません。ロックアイコン
  • アンロックマネージャの新しいユーザー{基本的な作成:{名:postgresの、ユーザーID:101、PW:なし、can_admin_server:偽、access_account:偽}、高度:{LOGIN_SHELL:は/ usr/binに/偽を}}
  • それはいくつかの奇妙なエラーを与えたが、最終的には私のユーザーを作成し
  • テストのpostgres(sudo -u postgres PGDATA=/usr/local/pgsql-9.0/data /usr/local/pgsql-9.0/bin/pg_ctl start
  • >> Server started
関連する問題