UbuntuでPostgreSQLを使ってみよう (2)

UbuntuでPostgreSQLを使ってみよう (2)

NTT オープンソースソフトウェアセンタ 鈴木 幸市

 

4. 設定

設定で行うことは次のとおりです。

  1. 管理ユーザ(postgres) でログインできるようにする。
  2. 管理ユーザでログインしてデータベースを作る
  3. データベースに自分のアカウントでログインできるように設定する。

では、順を追ってやり方を示していきます。

 

4.1 管理ユーザでログインできるようにする

PostgreSQLをインストールした時点で、すでにデータベースの管理ユーザであるpostgresユーザが作られています。しかし、このユーザのパスワードは不定で、このままではログインができません。最初にデータベースを作ったりデータベースのユーザを設定するためには、postgresユーザにならなければなりません。そこで、postgresユーザログインできるようにパスワードを設定しましょう。

パスワードの設定には、「端末」を使います。これは、Windowsのコマンドプロンプトと同じようなツールで、実行すべきプログラムをコマンド(文字列)でタイプして動作させるものです。

端末は、アプリケーション→アクセサリ→端末で選択します(図17)。すると、図18に示すような端末のウィンドウが現れます。

 

t_fig_17

図17 端末の起動

 

t_fig_18

図18 端末の画面

 

ここで、「koichi@strauss:~$」はプロンプトと呼ばれ、これに続いてコマンドを投入します。プロンプトも自由にカスタマイズができますが、ここではデフォルトのままです。@の前が使っているユーザ名(アカウント名)、@の後がubuntuにつけたホスト名、次いで、現在のディレクトリがどこかを示しています。

さて、実際に「postgres」ユーザが作られていることを確認してみます。

このためには、「finger」コマンドを使います。finger に続いて調べるユーザ名をタイプし、Enterキーを押すと、図19に示すような結果が得られます。これで、postgresユーザがきちんとできていることがわかります。

 

t_fig_19

図19 Fingerコマンドを使ってpostgresユーザが作られたことを確認する

 

以降の操作はすべてこの「端末」を使って行います。以降、投入したコマンド文字列と、その結果出力される文字列を図で示すこととし、端末画面のスナップショットは使用しないことにします。

では、postgresユーザでログインできるようにしてみましょう。そのためには、passwdコマンドを使ってpostgresユーザのパスワードを設定します。passwdコマンドで他のユーザのパスワードを設定するにはスーパーユーザになる必要があります。これをしてくれるのが“sudo”コマンドです。 ”sudo”に続けてコマンドを入れると、そのコマンドをスーパーユーザの資格で実行してくれます。

その様子を図20に示します。以降、端末から入力される部分は下線で示してあります。

 

t_fig_20
図20 postgresユーザのパスワードを設定する
 

これで postgersql ユーザでログインできるようになります。

 

4.2 データベースを作って自分のアカウントでデータベースを使えるようにする

今のところデータベースを作ることができるユーザはpostgresだけです。そこで、一時的にpostgresユーザになってデータベースを作り、データベースのユーザに自分のユーザ名を追加することにします。通常は、postgresユーザになれるひとはしっかり限定しておいて、不用意にデータベースの重要な部分が変更できないようにしておくのが賢明です。今はシステムにはrootと自分(koichi)と postgres しかユーザがいないので、このようにしています。

今回の目的のためには少しの間postgresユーザになればよいので、端末から“su”コマンドを使います。”su”コマンドを使うと、一時的にほかのユーザになることができます。(図21)

 

t_fig_21
図21 新たにデータベースを作る
 

createdb がデータベースを作るためのコマンドで、testdbは作ろうとしているデータベースの名前です。

次に私のアカウントでデータベースが操作できるようにしましょう。これには、psqlというpostgresqlのツールを使います。これは、SQL文を入力してその処理をしてくれるものです(図22)。

 

t_fig_22
図22 koichi をデータベースユーザに追加する
 

psql に続いて読み書きするデータベース名(この場合はtestdb) をタイプします。すると、psqlが動いてSQL文が入力できるようになります。

create role … はデータベースにユーザを追加するSQL文です。最後のセミコロンをお忘れなく。

これで、ユーザが追加できましたので、\q とタイプしてpsql を終了させます。

確認しましょう。この状態で exit コマンドを入力すると、ユーザが再び koichi に戻ります。ここで、psql を使ってみましょう(図23)。

t_fig_23
図23 一般ユーザ(この場合はkoichi) でデータベースを使用する
 

無事データベースにログインできました。これで準備は完了です。あとはtestdbにテーブルや行をどんどん追加したり更新したりできます。この後のステップは、最初に示したPostgreSQLマニュアルのチュートリアルに従って下さい。

次のページでは、今までの操作で何がどこにインストールされたのか、主要なディレクトリとファイルを紹介し、PostgreSQLの構成を少し変更してみることにします。