UbuntuのpgAdminを使用してPostgresをlocalhostサーバーに接続するにはどうすればよいですか?


102

このコマンドでPostgresをインストールしました

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev

psql --version私が得る端末で使用するpsql (PostgreSQL) 9.3.4

それから私はインストールpgadminしました

sudo apt-get install pgadmin3

後でUIを開いて、この情報でサーバーを作成しました

ここに画像の説明を入力してください

このエラーが表示されます

ここに画像の説明を入力してください

どうすれば修正できますか?


このリンクからV9.3のダウンロードにpostgresql https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windowsして再度実行してpgAdminでIIIは、ローカルホストがすでに接続する必要はありませんがインストールされます。
ダバルクマルプラジャパティ2017

回答:


29

ユーザーを作成していませんdb。新規インストールの場合、デフォルトのユーザーはpostgresで、パスワードは空白にする必要があります。アクセスした後、必要なユーザーを作成できます。


43
Error connecting to the server: fe_sendauth: no password supplied
そうすると

ここでopensuseの場合、postgresユーザーパスワードは空白ではなく未定義です(/ etc / shadow内の感嘆符)。パスワードでログインすることはできません。
Str。

検証のためにテストされたばかりで、そうです、Pgは、auth password authentication failedを使用するときに存在しないユーザーに対してmd5エミットします。
クレイグリンガー

1
どのようにユーザーを作成しますか?
ahnbizcad 2015年

2
「サーバーへの接続エラー:fe_sendauth:パスワードが指定されていません」
Cerin

174

ロールpostgresのパスワードを変更します。

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

ユーザー名postgresとパスワードpostgresを使用してpgadminに接続します

これで、pgAdminを使用してロールとデータベースを作成できます

PostgreSQLのユーザーパスワードを変更する方法


10
または、「sudo -u postgres psql」と入力してから、「\ password」と入力します。Enterキーを押します。新しいパスワードを入力してください。
Jay Modi

1
これは受け入れられるべき答えです。ありがとうございました。これは大いに役立ちました。
Pramesh Bajracharya

25

それはわたしを助ける:


1. ファイルを開く pg_hba.conf

sudo nano /etc/postgresql/9.x/main/pg_hba.conf

そして、この行を変更します:

Database administrative login by Unix domain socket
local   all             postgres                                md5

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. サーバーを再起動します

    sudoサービスpostgresql再起動

  2. psqlにログインしてパスワード設定

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. もう一度ファイル pg_hba.conf開き、次の行を変更します
Unixドメインソケットによるデータベース管理ログイン
    ローカルのすべてのpostgres信頼

    Unixドメインソケットによるデータベース管理ログイン
    ローカルのすべてのpostgres md5
  1. サーバーを再起動します

    sudoサービスpostgresql再起動


できます。

ここに画像の説明を入力してください


役立つリンク
1:PostgreSQL(ubuntu.comから)


これで私の問題は解決しましたが、場合によっては、postgresパスワードを設定する前にdb adminログインをtrustに変更する必要がある理由を説明できますか?
HostMyBus 2018年

@HostMyBusこんにちは。実際、私はこの事件をまったく思い出しません。Webからいくつかの回答を掘り下げてみてください(これについては適切な説明があると思います)
Artem Solovev

@HostMyBusこれはセキュリティ機能です。信頼するように設定されている場合、マシン上のすべてのユーザーがデータベースにログインできます。
Simon Zyx

そして、あなたは実際にはそれを必要としません:WiredIn回答を使用してください
Simon Zyx

4

最初にユーザーを作成します。これはユーザーpostgresとして行う必要があります。postgresシステムアカウントにはパスワードが割り当てられていないため、最初にパスワードを設定するか、次のようにします。

sudo /bin/bash
# you should be root now  
su postgres
# you are postgres now
createuser --interactive

そして、プログラムはあなたに促します。


sudo -u postgres -iパスワードの質問につながります。入力できるシステムにはパスワードがありません。私の提案は常に機能します(hm、うまくいけば)。
Str。

sudo -u postgress -iパスワードの質問にはつながりません(少なくともデフォルトのインストール後のUbuntuでは)。どちらのcreateuser --interactiveプロンプトパスワードにはつながらない... :(
オンドレイDoněk

@OndřejDoněk私の提案は最初にsudo / bin / bashでした、あなたはそれをしましたか?
Str。

役割として何を入力する必要がありますか?
ahnbizcad 2015年

$ createuser --interactive 追加する役割の名前を入力:postgres 新しい役割をスーパーユーザーにしますか?(y / n)y
エリーゼチャント2017年

2

最初に、ターミナルを使用してパスワードを変更する必要があります。(ユーザー名はpostgresです)

postgres =#\ password postgres

次に、パスワードを入力して確認するように求められます。

これで、新しいパスワードでpgadminを使用して接続できるようになります。


0

次のようにpsql入力して、ターミナルウィンドウでコンソールを開いた場合

ドル psql

あなたはスーパーユーザーですユーザー名はの前に表示されます=#、例えば:

elisechant=#ドル

これが、localhostに使用するユーザー名になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.