7

K-なぜ私がこれをやろうとしているのかを説明してくれることを願っています. 私はほとんどの開発作業を会社提供のラップトップで行っています。でも家に帰ったらデスクトップを使いたいです。ユーザー名とパスワードが既に「postgres」として定義されている多数の Rails プロジェクトがあるため、デスクトップで動作させるためだけに、これらのプロジェクトの .yml ファイルでユーザー名とパスワードを変更したくありません。頭悪すぎ。したがって、私がやりたいことは、postgres 環境を変更して、デフォルトでユーザー名「postgres」を探すことだけです。また、ログインするたびに -U または -W を渡す必要もありません。だから...

psql/postgres のデフォルトの役割を変更するにはどうすればよいですか? コマンドラインから、次のように入力すると:

$ psql

私は戻ってきます

psql: FATAL:  role "crash" does not exist

PCログイン用のユーザーアカウントであるため、「crash」を探していますが、デフォルトのユーザー名を「crash」ではなく「postgres」にしたいです。PSQL が init で探しているロールを変更するにはどうすればよいですか?

結局のところ、Google には、postgres の新しいロールの作成、パスワードの変更、またはその他の有用な情報に関する多くのリソースがあります。ただし、何時間も検索してきましたが、postgres がデフォルトで使用する役割の変更に固有のものは見つかりません。

誰かが私を正しい方向に向けることができれば、私はそれを感謝します.

システム ubuntu 12.04 lts 64 ビット

4

2 に答える 2

9

Ubuntu コミュニティ サイト には、Ubuntu でのPostgreSQL の使用に関する入門情報があります。

クライアント認証に関する PostgreSQLのマニュアルも役立つ場合があります。

環境変数を設定してPGUSER、デフォルトのユーザーをオーバーライドする必要があります。

サービス定義に関するドキュメントに従って、 inのサービスを定義することも役立ちます。詳細を繰り返す必要がないように、でそれを参照できます。これは、この問題を処理する「正しい」方法です。サービスを定義し、 でサービスを参照し、改訂管理外のファイルで実際の意味を指定します。便宜上、改訂管理でテンプレート コピーを使用します。libpq~/.pg_service.conflibpqpsqlservice=myservicedatabase.yml.pg_service.conf

(~/.psqlrcファイルも役立つ場合がありますpsql のドキュメントを参照してください。)

シェル エイリアスも便利です。私はしばしば追加のようなことをします

alias psomedb 'psql "service=somedb"'

~/.bashrc頻繁に使用する DB やホストに簡単にアクセスできます。

この~/.pgpassファイルは、さまざまなホスト/ポート/データベース/ユーザーの組み合わせのパスワードを保存するために使用できます。

そうは言っても、ユーザーとして日常的に作業するのはひどい考えです。デフォルトにしないpostgresでください。スーパーユーザーではなく、通常のユーザー (おそらく権限を持つユーザー) を作成します。そのユーザーをほとんどのタスクに使用し、スーパーユーザー権限が必要な場合にのみスーパーユーザー (または目的のために作成した他のユーザー) に切り替えます。「代わりに必要な場合にのみ、ルートとして機能しないでください」と同じ原則です。CREATEDBpostgressudo

于 2013-07-15T03:29:28.000 に答える