• 締切済み

POSTGRES8.2を自動起動したい

POSTGRES8.2をシェルで自動起動したく、下記のとおり挑戦しています。 cd /etc/init.d/ vi pgsql #!/bin/sh # # chkconfig: 35 86 15 # description: PostgreSQL auto start PGACCOUNT="user1" PG_CTL="/usr/local/pgsql/bin/pg_ctl" . /etc/rc.d/init.d/functions echo "PostgresSQL start:" su - $PGACCOUNT -c "$PG_CTL start -o \"-i\"" そして下記の順番で設定・確認 chmod 755 ./pgsql chkconfig --add pgsql chkconfig pgsql on chkconfig --list pgsql pgsql 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ ここで、 su -l service pgsql とやるとPOSTGRESは起動します。 しかし、再起動してもPOSTGRESが起動してくれないのです。 問題解決の為にご協力をお願いします。

みんなの回答

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

OS起動時にPostgresを自動起動させる。 1.pgsql(スクリプトファイル)のコピー作成 install -o root -g root -m 755 /usr/local/src/postgresql-8.2.3/contrib/start-scripts/linux /etc/rc.d/init.d/pgsql 2.サービス登録 chkconfig --add pgsql

tom0007
質問者

お礼

ご指摘のとおりやったらうまくいきました・・・ 私の書いたコードの何がわるかったのでしょうか??

関連するQ&A

  • RedHat ES4でPostgreSQLを自動起動したい

    RedHatにPostgreSQL8.2.3をインストールしました。 インストール自体は他のディストリビューションでも何回も行っているので 特に問題なく終了しました。しかし自動起動がうまくいきません。 /etc/init.d/postgresqlを以下の内容で作成しました。 ----- ここから ----- #!/bin/sh # chkconfig: - 87 13 # description: PostgreSQL8.2 # processname: postmaster # pidfile: /var/run/postgresql.pid pidfile=/var/run/postgresql.pid . /etc/init.d/functions case "$1" in start) su - postgres -c "pg_ctl start" touch $pidfile ;; stop) su - postgres -c "pg_ctl stop -m fast" rm -f $pidfile ;; restart) su - postgres -c "pg_ctl stop -m fast" su - postgres -c "pg_ctl start" ;; *) echo "Usage: /etc/rc.d/init.d/postgresql {start|stop}" esac exit 0 ----- ここまで ----- このスクリプト自体はrootにて # /etc/init.d/postgresql start できちんとDBが起動する事は確認しています。これを以下のようにして 自動起動の設定を行いました。 # chmod 755 /etc/init.d/postgresql # chkconfig --add postgresql # chkconfig --level 35 postgresql on # chkconfig --level 06 postgresql off 問題はここからで、この状態で再起動を行うと、起動時にpostgresqlを 実行するところでとまってしまうのです。pidファイルなどゴミが無い事は 確認済みなのですが・・・その状態でもネットワークログインは出来るので プロセスを確認すると以下のようなプロセスが残った状態でとまっていました。 root 2765 0.0 0.0 5920 760 ? S 00:47 0:00 initlog -q -c /etc/rc5.d/S87postgresql start root 2766 0.0 0.0 6916 1336 ? S 00:47 0:00 /bin/sh /etc/rc5.d/S87postgresql start root 2769 0.0 0.0 6124 1276 ? S 00:47 0:00 su - postgres -c pg_ctl start この状態で # kill 2765 2766 2769 とすると起動がまた再開されるので、PostgreSQLの起動時にとまっている事は 明らかです。 いったい何が原因なのか、さっぱりわかりません。 どなたかヒントだけでもいただけたら幸いです。 よろしくお願いします。

  • 【SuSE】PostgreSQLの自動起動が出来ない

    見ていただいてありがとうございます! SuSE LinuxでpostgreSQLの自動起動が設定できず 困っております。 ヒントでもかまいませんので、 ご教授いただきたく思っております。 postgreSQLのインストールはソースから行いました。 ログイン後なら、以下のコマンドを実行することで 起動することは可能な状態です。 #su - postgres #/usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data> logfile 2>&1 & ■自動起動させるために行ったこと 1.自動起動スクリプトファイル "/usr/local/src/postgresql-8.3.3/cntrib/start-script/linux" をディレクトリ"/etc/init.d/"にコピーしました。 2.自動起動スクリプトファイルを 「postgresql」にリネームし、 全員に実行権限を付与しました。 3."/etc/init.d/rc*.d"に以下の名前で シンボリックリンクを作成しました。  ・rc0.d、rc1.d、rc2.dに「K02postgresql」  ・rc3.d、rc5.dに「S98postgresql」 現在、上記の操作をした状態となっておりますが、 rootでログインしてコマンド #pr -e を実行しても 「postmaster」の行があらわれません。 ちなみに、コマンド #chkconfig -list を実行すると postgresqlの行の 3 と 5 がONになっています。 現在Linuxのことを勉強中ですので、 質問に情報不足などあるかもしれません。 ご指摘いただければ、至急追加情報を提示いたします。 よろしくお願いいたします!

  • PostgreSQLをサーバ起動時にstartさせたい

    PostgreSQLをサーバ起動時にstartさせたいと思っています。 /etc/rc.d/rc.localに下記を追記しましたが、起動してくれません。ログファイルも作成されていませんでした。 echo -n "Starting PostgreSQL: " su -l pgsql -s /bin/sh -c "/usr/local/pgsql/bin/pg_ctl -l /var/log/postgresql.log start > /dev/null 2>&1" < /dev/null echo "done." 何が悪いのでしょうか?PostgreSQLは手動でstartすることはできます。 また、PostgreSQLの起動スクリプトを作成し、webminで制御したいと思うのですが、PostgreSQLの起動スクリプトの書き方について参考になるHPがあれば紹介していただきたいと思っています。 よろしくお願いいたします。

  • Apache(httpd)の自動起動について

    CentOS4でサーバ電源起動時にApacheを自動起動する設定方法についてご教授をお願いできますでしょうか。 オーソドックスなやり方では、chkconfig httpd onというコマンドを使用して、httpdが自動で立ち上がるようにすると思います。 このたび上司から既存のサーバのレプリカを作ってほしいと依頼されたのですが、chkconfig --listコマンドでそのサーバの自動起動の設定を見ると、 httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off となっているのです。 それでも自動起動しているのはなぜでしょうか?どのような設定をすれば実現可能でしょうか? なお、ps axコマンドでそのサーバのプロセスを見ると、 10928 ? S 0:00 /usr/sbin/httpd -k start となっています。 一方、chkconfig httpd onでhttpdを自動起動した場合のプロセスは、 3873 ? S 0:00 /usr/sbin/httpd となっており、かなり若いプロセス番号であることと、行末に「-k start」がついていないことが異なります。 この「-k start」が一つの手がかりとなると思うのですが、(何かでキックしているのでしょうか?)これは何の意味でしょうか? なお、 /etc/httpd/conf/httpd.conf や /etc/init.d/httpd は両者ともに同じで、ほぼデフォルト状態です。 以上、何卒ご指南くださいますようお願いいたします。

  • PostgreSQLが起動しない・・・

    はじめまして、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

  • tcpip_socketの設定をするとpostgres起動時にエラーになる。

    開発によるテストで外部からtcp/ip接続を行いたいので、 tcpip_socket = true という項目をpostgresql.confに追加してみましたが、 postgres起動時に以下のようなエラーにり起動できません。 起動時のコマンド: pg_ctl -D /usr/local/pgsql/data start -w -o "-S -i" エラー: FATAL: unrecognized configuration parameter "tcpip_socket" postmaster (PostgreSQL) 8.1.9 何か原因分かりますでしょうか。

  • 起動時エラー

    RedHat9にPosgreSQL 7.3をインストールしたんですが、DB起動時にエラーが出てます。 DB起動コマンドは、 pg_ctl start -D /usr/local/pgsql/data -l /home/postgres/logfile postmaster successfully started DB停止コマンドは、 pg_ctl stop -D /usr/local/pgsql/data メッセージは、 pg_ctl: cannotfind /usr/local/pgsql/data/postmaster.pid Is postmaster running? postmastar.pidファイルを探しましたが、確かにありません。 そして、logfileは以下です。 LOG: startup process (pid 14202) was terminated by signal 6 LOG: aborting startup due to startup process failure 一度は起動停止確認は出来たのですか、2回目からできなくなってしまい、大変困っています。 ポート番号はデフォルトの5432のままです。 どうしたらいいのかわかりません。 よろしくお願いいたします。

  • tomcat自動起動がうまくいかない。

    FC3でApache2+tomcat4+mod_jk2で環境を構築しています。 Apache単体、tomcat単体、連繋とも全てうまくいきtomcatの自動起動設定を/etc/rc.d/init.d/tomcat というファイルで作製し、起動テストをおこなったのですが、実行時にエラーがでます。 作製したファイルの内容は以下のとおりです。 ここから #!/bin/sh # # Startup script for the tomcat # # chkconfig: 345 80 15 # description: Tomcat is a Servlet+JSP Engine. # Source function library. . /etc/rc.d/init.d/functions case "$1" in 'start') if [ -f /usr/local/tomcat/bin/startup.sh ]; then echo "Starting the tomcat service " su - nobody -c "export JAVA_HOME=/usr/java/j2sdk1.4.2_07;\export TOMCAT_HOME=/usr/local/tomcat;/usr/local/tomcat/bin/startup.sh" fi ;; 'stop') echo "Stopping the tomcat service." su - nobody -c "export JAVA_HOME=/usr/java/j2sdk1.4.2_07;\export TOMCAT_HOME=/usr/local/tomcat;/usr/local/tomcat/bin/shutdown.sh" ;; 'restart') $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart}" ;; esac exit 0 ここまで rootでの/usr/local/tomcat/bin/startup.shを利用した起動は問題無く起動します。 JAVA_HOMEとCATALINA_HOMEは設定済みです。 どこが問題でしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • FreeBSD における、アプリの起動スクリプトと登録の方法

    いま独自のサーバ用アプリを作っています。それを、FreeBSD起動時に自動的に立ち上がるようにしたいのですが、方法が分かりません。教えていただける方、あるいは、参考URLをご存知の方お教えください。 たとえば、linuxでしたら、 /etc/init.d/hogehoge start とすると、hogehogeアプリを起動し、 /etc/init.d/hogehoge stop とすると、hogehogeアプリを停止するようなスクリプトを書きます。hogehoge中身は、たとえば、以下のような感じですかね。 ----------------------------------------------------- #! /bin/sh # # chkconfig: 2345 85 15 # description: hoge hoge ... . /etc/rc.d/init.d/functions cd /usr/local/xl-gbs PATH=$PATH:/usr/local/xl-gbs/xlscript/bin export PATH start() { xl gbserver.xl / start echo } stop() { xl gbserver.xl / stop echo } restart() { stop start } case "$1" in start) start ;; stop) stop exit 1 ;; restart) restart ;; *) ;; esac exit 0 ----------------------------------------------------- その上で、 % chmod 0755 /etc/init.d/hogehoge % chkconfig --add /etc/init.d/hogehoge という風に登録します。 まあ、この操作に対応するFreeBSDの操作を教えていただければありがたい。

  • データベースクラスタの変更

    Debian etch (Linux Debian 2.6.25.1-kuroboxHG) な環境に aptitude install postgresql8 として、 PostgreSQL バージョン 8.1.11 を使っています。 インストールした直後のデフォルトのデータベースクラスタは /var/lib/postgresql/8.1/main でしたが、 # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda1 2063504 718136 1240548 37% / tmpfs 63504 0 63504 0% /lib/init/rw tmpfs 63504 0 63504 0% /dev/shm /dev/hda3 116413420 3093484 113319936 3% /mnt のような環境ですので、データベースクラスタを /mnt/share/pgsql に作ろうと思い /usr/lib/postgresql/8.1/bin/initdb -D /mnt/share/pgsql としました。 Success. You can now start the database server using: /usr/lib/postgresql/8.1/bin/postmaster -D /mnt/share/pgsql or /usr/lib/postgresql/8.1/bin/pg_ctl -D /mnt/share/pgsql -l logfile start となったので /usr/lib/postgresql/8.1/bin/pg_ctl -D /mnt/share/pgsql -l logfile start したところ server.crt がないと怒られたので /var/lib/postgresql/8.1/main に有ったシンボリックリンクを作成 この時に同じフォルダにある二つも作成 root.crt -> /etc/postgresql-common/root.crt server.crt -> /etc/ssl/certs/ssl-cert-snakeoil.pem server.key -> /etc/ssl/private/ssl-cert-snakeoil.key としたのですが 再起動してもPostgreSQLがもとのまま /var/lib/postgresql/8.1/main を使って起動しています。 どこを見直すのかご享受ください。 よろしくお願いします。