Innovating@Sun コミュニティ ご購入について (0120-33-9096) マイ・アカウント 日本 [Change] 日本語

Feed Feed RSS 1.0 Feed RSS 2.0 Feed ATOM 1.0
データベース完結編 これを忘れちゃいませんか?OpenSolarisにPostgreSQL8.3を導入
  前号へ  
目次

Web StackパッケージによりデータベースMySQLはサクッていうかチュルンなくらい簡単に稼動できた。だがオープンソースのデータベースと言えばアレだってあるポスト!パッケージインストールしたら笑っちゃうほど簡単でグレス!

ページ1 [1]
ページ1
ページ2 [2]
ページ2
ページ3 [3]
ページ3
ページ4 [4]
ページ4
    
「やさしいお目々の、ゾウさんのテーマ」

OpenSolarisでは「Web Stack」パッケージでApache, MySQL, PHPを簡単にセットアップできる。

特に助かるのがデータベースのMySQL。ユーザー作ってデータベース初期化してサーバー起動してという面倒くさい作業が、メニューからのワンクリック。こいつは愉快痛快、もうMySQLさえ使ってけばデータベース生活は安心安全、と思いかけたワタシの耳に、ある日ささやく声がした。

「ワタシを忘れちゃいませんかパォーン」

はッ!そうだった。オープンソースのデータベースの大御所と言えばPostgreSQLだってある。「だって」どころか、最近のSolaris10では標準でついている。これがOpenSolarisで利用できないわけがない。

そこでドイツ語風に「パッハマン」と(勝手に)呼んでいる「パッケージマネージャ」を起動。
PosgtreSQLのパッケージを探せ探せィ。草の根分けても、と思ったらただ検索欄に「post」と入れただけで、雨後のナニかのようにゾロゾロと出てくる。

図1:「post」と呼べばゾーロゾロ
図1:「post」と呼べばゾーロゾロ

だが若者よハヤるべからず。数字抜きで「postgres」と書いてあるのはSolaris史上最初に標準搭載になった記念すべきバージョン8.1だ。もちろん、こちとらジイさんの代から8.1でぇと言う人はこれを選べばよいのだが、せっかくだから新しいバージョンを探してみよう。

図1の画面を上(逆)にスクロールすると、パッケージ名に「83」のついたのが現れる。これが今のOpenSolaris「ニッパチ・ピンゾロ」用パッケージにあるPostgreSQL の最新版、バージョン8.3だ。なお、さらに上には「82」のついたバージョン8.2もある。

そこで、バージョン8.3のサーバーとクライアントをインストールする。


他に、「libs」という名前のついた「SUNWpostgr-83-libs」がもしインストールされてなかったら、一緒にインストールしたほうがよいと思う。ワタシの環境では「Web Stackパッケージ」、正確なパッケージ名は「amp-dev」をインストールしたときに一緒に入ってきた。

図2:「server」と「client」を決定、「libs」はすでに入っていた。あとプログラミングなどのために「devel」を入れようかなーと悩んでいる所(結局まだ入れてない)。
図2:「server」と「client」を決定、「libs」はすでに入っていた。
あとプログラミングなどのために「devel」を入れようかなーと悩んでいる所(結局まだ入れてない)。

さあインストールが終わったらデータベースのセットアップだ。いつも苦労するこの作業、今度こそ全ての手順をエラーなく終えてやる、と腕まくりしたい気分だが、今回のこれは、みなさん何も言わずワタシについて来てください。てかホントはサンのスタッフのJignesh Shahさんについて行きましょう。

まずrootになる。(以後の実行例1, 2はrootで行うことを示すために、入力を促す「#」記号も示しているヨ)
PostgreSQL8.3をサービスとして起動する。

そしたら、まだrootのまま、PostgreSQLのクライアントツールpsqlをかます。このとき、「postgres」ユーザで「postgres」データベースに接続するというオプションをつける。

するとみなさんは信じられない光景を目にするだろう。すなわち「Welcome to psql 8.3.4.... 」というメッセージが現れ、最終的に実行例3のような実行待ち状態が達成されてしまうのだ。


図3:root権限でpostgresユーザとしてpostgresデータベースに接続したところ。図中の「osol-kuroko2」は実行中のホスト名
図3:root権限でpostgresユーザとしてpostgresデータベースに接続したところ。
図中の「osol-kuroko2」は実行中のホスト名

かんたんだーッ。我がトグレ使用史上最小最短の手続き。すでに専門のpostgresユーザもできてるし、postgres権限で「initdb」というコマンドを実行しなければならないはずのデータベースの初期化もできてしまっている。 やれrootで操作すんなのフォルダにさわんなの、そんな押し問答にもサヨウナラ!

よしよし魚心(実行例3)あらば水心(実行例4)。まずはトグレユーザーの作成と参ろうか(以後の実行例4,5は入力を促す記号は表示していないヨ)。

「noniko」とは今デスクトップにログインしているユーザ名がワタシnonikoの場合。これをPostgreSQLのユーザに追加してやったわけだ。
と、いっても最近のPostgreSQLでは、「ユーザー」ではなく、特定の権限を持つか持たないかで記述される「役割(ロール、role)」として名前が登録される。「noniko」とは「のに子のような役割を持つヤツ」のことだ。それが役に立たないヤツのことを直喩しているのかどうかは、また別問題だ。
そういうわけで、実行例4の応答は、「CREATE USER」ではなく「CREATE ROLE」になるだろう。それでオッケーだ。

つぎに、実行例5を入力して、noniko(のようなヤツ)のためのデータベースを作ってやる。

ここまで終わったら、のに子のくせにrootのふりな作業は終了。のに子ユーザとして、デスクトップとかから新たに端末を開いて「psql」を起動する。(実行例6は一般ユーザで行うことを示すために、入力を促す「$」記号も示しているヨ)

システムユーザnonikoが自分のデスクトップで実行例6をやれば、PostgreSQLのロールnonikoがデータベースnonikoにアクセスしたとみなされる。そこで実行待ち表示(プロンプト)は、実行例7のようになる。

これだけだーッ!本日の道場はこれにて閉鎖(聞こえがわるい)ーッ!としてもいいほどカンタンに行ってしまったがもうちょっと勉強しよう。



   ジイさんの代:たぶんPostgreSQLはない。
   上にスクロール:数字のほうが文字より上に来るので、ポ-serverよりはポ-83-serverのほうが上に来るのだ。
   ニッパチ・ピンゾロ:2008.11のこと。
   トグレ:「ポストグレス」の略。以後、ぼやきなどテクニカルでない記述ではこのように省略することがある。
   使用史:あんまりないんだけどネ。
   最近の:バージョン8.1以降。

本記事は、サンのユーザ様自らの体験をお寄せいただいたものであり、サン・マイクロシステムズ社としての公式情報ではありません。

  前号へ  
ご意見・ご感想をお聞かせください
この記事は参考になりましたか?
     

コメントがございましたらご記入ください


ページ先頭へ

Sun Fun Times