2017年01月 / 12月≪ 12345678910111213141516171819202122232425262728293031≫02月

2007.09.16 (Sun)

sudoでPostgreSQLのデータベースを自動起動

PostgreSQLを入れたものの、パソコンを再起動するたびにデータベースも起動しなくてはならない。
そんなのは面倒なので、ちょっと考えた。
まず、問題は

1.いちいち「postgres」(←データベース管理用ユーザ)にログインしなければならない
2.[postmaster -D /var/…]という、長ったらしいコマンドを入力しなければならない

の二つ。
PostgreSQLを使うのは学校のテストに向けて勉強するときぐらいだ。
ターミナルから起動するので一度は必ず開く。
なら『.bashrc』に書いて、「postgres」の権限で[postmaster -D …]を実行させればいいんじゃね?
と思ったので、[sudo]コマンドを使ってみた。

まず普段使っているユーザに、[sudo]コマンドを使って、「postgres」権限で[postmaster]コマンドを実行できるようにする。
そのためには、『/etc/sudoers』というファイルをいじる。

root ALL=(ALL) ALL

という行があるはず。
その下に、

ユーザ名 ALL=(postgres)NOPASSWD: /usr/bin/postmaster

と記述。
ここでのユーザ名はsudoの権限を与えたいユーザ名。
ユーザ名の後ろの空白にはタブを使った。
次に、『.bashrc』をいじる。
『.bashrc』は『~/.bashrc』の位置に存在する。
下手にいじると動作がおかしくなるかも知れないので、バックアップとるのもいいかも。
次の文を追加する。

/usr/bin/sudo -u postgres /usr/bin/postmaster -D /var/lib/pgsql/data/ -S -i

一応、私は[alias…]の下あたりに書きました。
以上。これで、以降は自動で起動されるはず。
再起動してみて、ターミナルを開く。
そして、次のように入力。

$psql -U user testdb

これでPostgreSQLの対話画面が開ければOK。
なんか、括弧使いまくったら見ずらくなったな・・・orz


初心者がなけなしの知識はたいてやったので、おかしかったり、問題がありそうならアドバイスお願いします。

22:30  |  LINUX  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

*Comment

コメントを投稿する

URL
COMMENT
PASS  編集・削除するのに必要
SECRET  管理者だけにコメントを表示  (非公開コメント投稿可能)
 

▲PageTop

*Trackback

この記事のトラックバックURL

→http://gasser.blog114.fc2.com/tb.php/69-841389bf

この記事にトラックバックする(FC2ブログユーザー)

この記事へのトラックバック

▲PageTop

 | BLOGTOP |