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

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

新規登録して質問してみよう
ただいま回答率
85.37%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PostgreSQL

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

214閲覧

Windows11でPostgreSQLを使用すると、 Railsアプリケーション実行にエラーが発生する

Suihe-Ribe-108

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PostgreSQL

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2024/10/31 06:11

Windows11でPostgreSQLを使用すると、 Railsアプリケーション実行でエラーが発生しました。

①Windows11に次のツールをインストールしました。
Ruby バージョン:3.3.5
Ruby on Rails バージョン:7.2.1
pg バージョン:1.5.9

②次のコマンドで、Railsの新規アプリケーションをpostgresqlで作成しました。
cd \RailsTest
rails new books_p -d postgresql

③「F:\DataRails\books_p\config\database.yml」は、次のように修正しました。

# PostgreSQL. Versions 9.3 and up are supported. # # Install the pg driver: # gem install pg # On macOS with Homebrew: # gem install pg -- --with-pg-config=/usr/local/bin/pg_config # On Windows: # gem install pg # Choose the win32 build. # Install PostgreSQL and put its /bin directory on your path. # # Configure Using Gemfile # gem "pg" # default: &default adapter: postgresql encoding: unicode # For details on connection pooling, see Rails configuration guide # https://guides.rubyonrails.org/configuring.html#database-pooling pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: postgres password: (パスワード) host: localhost development: <<: *default database: books_p_development # The specified database role being used to connect to PostgreSQL. # To create additional roles in PostgreSQL see `$ createuser --help`. # When left blank, PostgreSQL will use the default role. This is # the same name as the operating system user running Rails. #username: books_p # The password associated with the PostgreSQL role (username). #password: # Connect on a TCP socket. Omitted by default since the client uses a # domain socket that doesn't need configuration. Windows does not have # domain sockets, so uncomment these lines. #host: localhost # The TCP port the server listens on. Defaults to 5432. # If your server runs on a different port number, change accordingly. #port: 5432 # Schema search path. The server defaults to $user,public #schema_search_path: myapp,sharedapp,public # Minimum log levels, in increasing order: # debug5, debug4, debug3, debug2, debug1, # log, notice, warning, error, fatal, and panic # Defaults to warning. #min_messages: notice # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default database: books_p_test username: postgres password: (パスワード) host: localhost # As with config/credentials.yml, you never want to store sensitive information, # like your database password, in your source code. If your source code is # ever seen by anyone, they now have access to your database. # # Instead, provide the password or a full connection URL as an environment # variable when you boot the app. For example: # # DATABASE_URL="postgres://myuser:mypass@localhost/somedatabase" # # If the connection URL is provided in the special DATABASE_URL environment # variable, Rails will automatically merge its configuration values on top of # the values provided in this file. Alternatively, you can specify a connection # URL environment variable explicitly: # # production: # url: <%= ENV["MY_APP_DATABASE_URL"] %> # # Read https://guides.rubyonrails.org/configuring.html#configuring-a-database # for a full overview on how database connection configuration can be specified. # production: <<: *default database: books_p_production username: books_p # password: <%= ENV["BOOKS_P_DATABASE_PASSWORD"] %> username: postgres password: (パスワード) host: localhost

④ その後の「rake db:drop」コマンドを実行すると、下記のコマンドが表示されました。
イメージ説明

⑤また、「rails server」をした後、WEB画面では、次の表示がされました。
イメージ説明

どなたか、このバグの原因及び解決策がわかっておられる方がおられたら、ご指導お願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2024/10/31 07:32

PostgreSQLのサーバはどのように立てましたか?
Suihe-Ribe-108

2024/10/31 08:16

サービス画面で、「postgresql-x64-14」のサービスを起動しています。 これがサーバーをたてたことでしょうか?
maisumakun

2024/10/31 08:41

Railsからではなく、PostgreSQLへの手動での接続を試してみたりはしましたでしょうか。
Suihe-Ribe-108

2024/10/31 12:05

手動で、「psql -U postgres」等のコマンド実行したときは、正常に起動しました、
guest

回答1

0

自己解決

maisumakun様、貴重なアドバイスをありがとうございました。
(まだわからないことはありますが)、問題が解決しましたので報告させてもらいます。

PostgreSQLのサーバーの確認は、過去バ-ジョンでは「postgresql-x64-14」のサービスだったのですが、
現バージョンではこれではないようです。

HP等を調べた結果、PostgreSQLのサーバーの確認は、次のコマンドで行うことがわかりました。
pg_ctl -D C:\pgdata\17 status

<サーバー停止中のメッセージ>
イメージ説明
<サーバー起動中のメッセージ>
イメージ説明

サーバー停止中で処理をやったことがバグの原因でした。

サーバーを起動するコマンドは、次の通り。
pg_ctl -D C:\pgdata\17 start
イメージ説明

このコマンドで失敗した時は、次のコマンドを実行すればいいようです。
(このコマンドが失敗した時は何度か起動すればいいようです。私はこの理由がわかっていません。)
pg_ctl -D C:\pgdata\17 restart
イメージ説明

このコマンドにより、サーバーが起動中とした状態で、次のコマンドを実行しました。
cd \RailsTest\books_p
rake db:drop
rake db:create
rake db:migrate
イメージ説明

※rake db:dropで「(データベース) does not exsisted」となる場合は、エラーが発生する場合アあるようです。
この場合は、このコマンドを実行しないでください。

その後、「rails server」をした後、WEB画面では、次の表示がされました。
イメージ説明

このようにすることで、何とか問題は解決できました。皆さんありがとうございました。

投稿2024/11/05 07:06

Suihe-Ribe-108

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問