
はじめまして、tanu_2です。
玄箱HGをDebian化し、いろいろと遊んでいます。
PostgreSQLをapt-getでインストールし、Webアプリを動かしていたのですが、昨日より突然、PostgreSQLが動かなくなってしまいました。
原因が分からず、サーバを再起動し、
# /etc/init.d/postgresql start
や
$ pg_ctl start
などを試してみたのですが、動きません。
念のため、初期化(initdb)も試みたのですが、これも失敗してしまいます。
/var/log/postgresql/postgres/logを覗いてみると、
FATAL: could not write lock file "/var/lib/postgres/data/postmaster.pid": No space
となっており、上記ディレクトリにpostmaster.pid書き込みできないよ、と言われているっぽかったので、パーミッションを変更したりして
みましたが、postgresql startにしろ、pg_ctl startにしろ、それぞれのコマンドで起動すると、強制的にパーミッションが「700」に変更されてしまうようで、結果は同じでした。
どなたか、解決策をご教示願えませんでしょうか?
よろしくお願いします。m(_ _)m
No.3ベストアンサー
- 回答日時:
それ以外にも、以下のようなコマンドを使ってデータベースサーバプログラムの起動が出来ますよね。
postmaster -D /usr/local/pgsql/data
ただ、以下のURLのドキュメント内には、次のような記述があります。
「何を実行するにしても、サーバはPostgreSQLユーザアカウントで起動させなければなりません。 rootであってはいけませんし、他のユーザでもいけません。」
パッケージによるインストールであれば、自動でpostgresユーザが作られているはずだと思うけど。(Debianは使ったことないので、確証はなし。)
su - postgres
上記のコマンドでログインするなり、パスワードを忘れたのならroot権限にてpasswdコマンドから変更するなりした後、もう一度postmasterを起動してみよう!
ちなみに、パーミッション関係のエラーは、「Permission denied」ですよね。
参考URL:http://www.postgresql.jp/document/pg803doc/html/ …
No.4
- 回答日時:
#4です。
ほっ、間に合ってよかった。(いえ、独り言です。)「postmaster」っていうのは、PostgreSQLのデーモンプロセスでもあるわけだから、rootでも操作が出来なくはないはず・・・、といろいろといじっていましたらGUIでの操作方法を発見です。(以下、Fedora Core6[KDE]のばあい。)
1.「K メニュー」→「システム」→「Services」より"system-config-services"を起動.
2.「postgresql」の所にチェックを入れてから、「開始」ボタンを押下。
ちなみに、上記と同じことをCUIにて行いたいのであれば、Red Hat 系の場合は、以下のコマンドを実行します。
/etc/rc.d/init.d/postgresql start
で、質問者さんの場合では何故できなかったのかに関しては、以下のサイトを参考にしてください。(私自身、詳しくは分かりません。近々、Ubuntuもさわってみようかな~と考えているので、その時までには理解しておこうかなと。)
Debianでの起動処理(init)とランレベル(rc.d)の制御
http://park15.wakwak.com/~unixlife/linux/de-init …
インストール手順などが載っているサイト上では、よく「起動スクリプトの作成」についての説明があったりしますが、以下の過去ログにもある通り、通常はいちいち作らなくてもいいはず。
「RedHat ES4でPostgreSQLを自動起動したい」
http://oshiete1.goo.ne.jp/qa2848463.html
ちなみに、既存の起動スクリプトの場所がどこか知りたいのなら、「ファイル/フォルダを検索」にて名前(N):は「postgres」、参照(I):は「file:///」とすれば、だーっといろいろと出てくることと思う。
最後に、DB管理者さん向けのサイト。
エラー時の対処法
http://mland98.rc.kyushu-u.ac.jp/text/skyboard-2 …
この回答への補足
下記のTCP/IP接続に関する補足です。
/var/lib/postgres/data/postgresql.conf
にある
#tcpip_socket = false
を
tcpip_socket = true
に変更した後、root権限で
# /etc/init.d/postmaster restart
を実行したところ、うまくいくようになりました。
どうやら、PostgreSQLでは、TCP/IPでの接続はデフォルトとはなっておらず、localhost への接続だった場合は、UNIX ドメインソケット経由にした方が接続の速度が速いので、そのようになっているようです。
本当に、勉強になりました。
重ねて、ご回答頂きました皆様に御礼申し上げます。m(_ _)m
choconamacreamさん、いろいろと詳細な情報までご提供いただきまして、ありがとうございました。m(_ _)m
教えて頂きました情報に基づき、いろいろと試してみたところ、ようやくうまくいきました。
本当にありがとうございました。
原因は、ユーザpostgresのホームディレクトリに作成されていた~data/以下のディレクトリの権限がrootになっていたため、initdbが失敗してしまい、postmasterが起動できなくなっているというもののようでした。
なぜ、root権限になってしまったのかは不明ですが、
$ rm -Rf ~/data/
# rm -Rf /var/lib/postgres/data
とし、それぞれのdataディレクトリを削除した後、
$ initdb
を実行し、DBを初期化、さらに
$ postmaster -i -D /var/lib/postgres/data
により、postmasterを実行することにより解決しました。
ちなみに、root権限による
# /etc/init.d/postgres start
では、TCP/IPでの接続ができない旨、エラーメッセージが出てきてしまい、うまくいかなかったので、postgres権限による-iオプションを付けた起動としました。
PostgreSQLの運用・管理は数年やっているのですが、こんな原因でうまくいかないという状況にはまってしまったのは、初めてだったもので、皆様のお力をお借りさせていただきました。
今回の件で、いろいろと勉強させていただきました。
本当に、ありがとうございました。m(_ _)m
No.2
- 回答日時:
"/var/lib/postgres/data/postmaster.pid"
を削除すれば、どうですか
ちなみに、削除しても大丈夫と思うよ
私も、2~3回、経験がある。
まあ、私の場合を同じ原因とは限りませんが
ためしに、やってみては。
gyrocompasさん、回答をいただきまして、ありがとうございました。
(返事が遅くなってしまい、申し訳ございませんでした。m(_ _)m)
教えて頂いた方法ですが、すでに実施していたのですが、解決には至りませんでした。orz
何が悪いんでしょうか???
No.1
- 回答日時:
No space
この回答への補足
pastelflowさん、早速の書き込みをいただき、ありがとうございます。
エラーメッセージが途中で切れていました。
正しくは、
No space left on device
です。ちなみに、このエラーメッセージはpg_ctl startを実行した際のものです。
root権限で、/etc/init.d/postgresql startを実行した際には、若干違うメッセージが出ます。
Starting PostgreSQL database server: postmaster(FAILED)
ERROR: ERROR: PostgreSQL postmaster did not start because of an unknown reason.
/usr/lib/postgresql/bin/postgresql-startup: line 161: cannot create temp file for here document: No space left on device
両方とも、「No space left on device」と出ているのですが、どうすれば解決できるものかと悩んでいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- PostgreSQL PostgreSQLで"pg_dumpall -f data.sql"を使ってバックアップしたデータ 2 2022/09/19 08:14
- JavaScript 変数のスコープの問題? 3 2022/06/23 09:32
- JavaScript React と Electron でデスクトップアプリを開発する環境について 1 2023/02/08 11:16
- PostgreSQL PostgreSQLドライバの登録。 MavenプロジェクトからPostgreSQLへ接続をするため 1 2022/09/26 12:30
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- PostgreSQL SQLでUPSERTを一度に複数行やる方法 3 2022/03/25 15:17
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PostgreSQLが起動しない・・・
-
vbsでからプログラムを、オプシ...
-
再起動する事無くプロセスを消...
-
postgresqlの接続ポート5432か...
-
PostgreSQL14.6のSSL対応について
-
postgresqlでのトランザクショ...
-
windows版postgresql 異なるバ...
-
PostgreSQLの標準文字コードをS...
-
Oracle 10gがインストール出来...
-
ODBCドライバが使えない
-
Windows10がインストールできま...
-
Oracle9iを再インストールす...
-
accessのレコードデータをPostg...
-
postgresにクライアントpcか...
-
Universalインストーラが勝手に...
-
postegresSQLのパスワード
-
psql 使用時に自動 commit を無...
-
PostgresqlをインストールするP...
-
オラクルのグローバルデータベ...
-
Illustrator CS3の再インストー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PostgreSQLが起動しない・・・
-
vbsでからプログラムを、オプシ...
-
コマンドプロンプト
-
SSH でログインしてアプリケー...
-
windows版postgresql 異なるバ...
-
postgresqlの接続ポート5432か...
-
postgresqlでのトランザクショ...
-
MySQLとPostgresの同時使用
-
Windows10がインストールできま...
-
Access フォーム「使用可能」...
-
大至急!mdfファイルの中身を見...
-
PostgreSQLの標準文字コードをS...
-
odbc接続処理が遅い
-
Oracle9iを再インストールす...
-
PostgreSQLで集約関数をネスト...
-
autovacuumがメモリ負荷に!
-
postgreSQLに複数行(改行され...
-
検索で濁点や半濁点をヒットさ...
-
Mac High Sierraでのubuntuのus...
-
exp、impについて
おすすめ情報