質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • MySQL

    6685questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • MacOS(OSX)

    2240questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Vagrant

    1324questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • PostgreSQL

    1278questions

    PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

  • VirtualBox

    868questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

PostgreSQLでデータベースの確認(psql -l)でのエラーについて

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,271

roronoazoro

score 65

現在vagrantを用いて環境構築を行っています。

macのローカル環境ではpsql -lでデフォルト?のデータベースが表示されますが、vagrant sshでログインし、cd /vagrantでローカルのVagrantfileのある共有ディレクトリに移動してpsql -lとするとpsql: FATAL:  Rolle »vagrant« existiert nichtと返されてしまいます。
ちなみに、psql --versionで確認するとpsql (PostgreSQL) 9.5.7と表示されるのでpsqlは存在しているはずです。

こちらの原因について教えていただけると幸いです。
よろしくお願いいたします。

パソコン環境
macOS Sierra バージョン 10.12.5

cat Vagrantfile 結果

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://atlas.hashicorp.com/search.
  config.vm.box = "CentOS7"


  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # NOTE: This will enable public access to the opened port
  config.vm.network "forwarded_port", guest: 3000, host: 3000

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine and only allow access
  # via 127.0.0.1 to disable public access
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
   config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network "public_network"

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  # config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
  #   vb.memory = "1024"
  # end
  #
  # View the documentation for the provider you are using for more
  # information on available options.

  # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
  # such as FTP and Heroku are also available. See the documentation at
  # https://docs.vagrantup.com/v2/push/atlas.html for more information.
  # config.push.define "atlas" do |push|
  #   push.app = "YOUR_ATLAS_USERNAME0. 番号リスト/YOUR_APPLICATION_NAME"
  # end

  # Enable provisioning wih a shell script. Additional provisioners such as
  # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
  # documentation for more information about their specific syntax and use.
  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL
end

試したこと
出力 systemctl list-units --type=service | grep postgres
結果 postgresql-9.5.service             loaded active running PostgreSQL 9.5 database server

出力 'sudo yum install postgresql-server'
結果 'Komplett!'

CentOS7ローカル開発環境にてexit直後、(Vagrantfile直下のディレクトリ)
出力 psql -l -U postgres
結果 psql: FATAL:  role "postgres" does not exist

  1. cd /vagrant 共有フォルダへ移動
  2. ls 共有フォルダ内表示
  3. createuser -s vagrant
    の流れになります。

イメージ説明

出力 su - postgres
結果 Letzte Anmeldung: Montag, den 12. Juni 2017, 07:21:16 CEST auf pts/0
状態 [vagrant@localhost vagrant] → -bash-4.2$ psql -l へと初期状態が変更

イメージ説明

イメージ説明

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • roronoazoro

    2017/06/14 16:51

    詳しいご回答ありがとうございます。確かにバージョンが違っております。postgresの稼働の確認はpsql statusであってますでしょうか。vagrantサーバーのipアドレスは、ssh後のVagrantfile内の192.168.33.10だと仮定して行った実行結果を本文補足に追記いたします。よろしくお願いします。

    キャンセル

  • A.Ichi

    2017/06/14 17:00

    192.168.33.10はmacからは見えないかもしれません。Vagrantfileを修正してvagarntリスタートする必要が有ると思います。修正方法はぐぐると良いです。

    キャンセル

  • roronoazoro

    2017/06/14 19:28

    たびたびご対応していただきありがとうございました。ざっくりとイメージが湧いてきました。あとはググりながら何度もやってみたいと思います。また分からない点がでた時はどうぞよろしくお願いします。

    キャンセル

回答 2

checkベストアンサー

0

ログインしたユーザ(vagrant sshなら "vagrant")に対する
ロール(データベースユーザー)が作成されていないのだと思います。

PostgreSQL の管理者権限を持っているユーザー(パッケージの
デフォルトだと "postgres"?)になって、

createuser vagrant

をやってみてください。vagrant ユーザーをスーパーユーザーに
する場合は createuser -s vagrant です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/14 15:43

    ご回答ありがとうございます。
    本文補足にキャプチャ付きでやってましたので確認よろしくお願いします。

    キャンセル

  • 2017/06/14 16:02

    createuser を実行するのはホストOS(Mac OS)側ではなく
    GuestOS(CentOS)側ですが大丈夫ですか?

    キャンセル

  • 2017/06/14 16:10

    はい、こちらvagrant up → vagrant sshでcentOS7の仮想環境にログインしております。。

    キャンセル

  • 2017/06/14 16:15

    CentOS7 側で、以下のコマンドの出力を教えてください。
    id postgres
    rpm -qa | grep ^postg

    キャンセル

  • 2017/06/14 16:19

    出力結果を本文補足に追加いたしました。ご確認よろしくお願いします。

    キャンセル

  • 2017/06/14 16:28 編集

    PostgreSQL-9.2 と PostgreSQL-9.5 が混在していますね。
    (よって psql も2種類あるかも?)
    postgres ユーザーに su してから psql -l すると通ったりしませんか?
    これで通るようなら、この状態で createuser -s vagrant します。
    その後、vagrant ユーザーに戻って、psql が postgrs ユーザーで
    使っているものと同じになればいいんでしょうけど。

    一番スッキリするのはどちらかのバージョンをばっさり削除する
    ことなんですが…。

    キャンセル

  • 2017/06/14 16:55

    su で行うといけますが、-bash-4.2$となります。ドットインストールのpostgresの勉強なのですが、ここで作業していいものなのでしょうか?

    この問題が解決後、もう一度、環境構築してみます。。。

    キャンセル

  • 2017/06/14 17:03

    練習環境とのことですので、psql の操作についは CentOS7 上の
    postgres ユーザーで行っても構いませんし、他の方が書かれているように、
    Host(Mac OS)から "psql -h Cent7のIPアドレス" で操作しても構いません。

    アプリの練習が終わったら、改めて環境構築し直してください。
    作り直す回数に比例してスキルも上がっていきます(^^)

    キャンセル

  • 2017/06/14 19:31

    親切なご対応ありがとうございます。ざっと理解することが出来ました。あとはググりながらやってみます。
    また、分からないことがあった時はどうぞよろしくお願いします。

    キャンセル

0

vagrantで建てたゲストサーバ内に、postgres-serverがインストールされていないのではないでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/14 15:04 編集

    ご回答ありがとうございます。sudo yum install postgresql-serverでインストールし直し、Komplett!と表示され、その後、psql -lとしてみましたが、結果は同じでした。

    キャンセル

同じタグがついた質問を見る

  • MySQL

    6685questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • MacOS(OSX)

    2240questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Vagrant

    1324questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • PostgreSQL

    1278questions

    PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

  • VirtualBox

    868questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。