ひと安心したところで ロケット稼働したトグレ・サーバとクライアント。あとはPostgreSQLの文法どおりにテーブル作ってデータ入れてという作業を好きに行えばよい。でもそれについてはPostgreSQLのドキュメントを読んでチョ。日本のPostgreSQL情報は「日本PostgreSQLユーザ会」から得られる。なお、日本PostgreSQLユーザ会自身のロゴはカメさんでカワイイ。本家ロゴの象さんとは「寿命が長くて落ち着いていて賢い動物」という意味で共通している。 それはそうとして、OpenSolarisでPostgreSQLがどのようなしくみで動くかは見ておいたほうがいいだろう。 PostgreSQLという「サービス」の名前は 本道場でも何度かOpenSolarisの「SMF(Service Management Facility)」というサービス管理方法を利用しているが、PostgreSQLもソレだ。 「簡単セットアップでひと安心」編でPostgreSQL8.3のサービスを起動したとき(実行例1)には、簡単さをより強力に表現するためにいきなり「アンダースコア」や「コロン」などの記号も鮮やかに、その名を指定してみせた。でもホントは「おまえの次のセリフはpostgresql_83:default....」などと見抜いておったわけでは全然なくて、せっせと調べたからこそのことだ。 どうやって調べたか。「サービス」の設定ファイルは、「/var/svc/manifest」というフォルダに、カテゴリ別に分けて置かれている。PostgreSQL8.3の設定ファイルは、リスト1の場所だ。
リスト1のような複雑な場所をファイルブラウザで見るためには、ファイルブラウザの上方で、exportとかhomeとかいうフォルダの切り替えボタンのついたところ(「場所バー」というんダショバー)の横っちょにある、あまりよく消えなそうな消しゴムのついた鉛筆ボタンを押す。これで、場所を直接入力できる形式になる。
図5のように見える設定ファイルのファイル名が「ほぼ」サービス名と考えてよい。あとは、「svcs」コマンドでサービス名を指定すると、より細かい分類のサービス名がある場合は、教えてくれる。図6は、svcsコマンドの応答の中に「:default_32bit(64bit)」という細かいサービス名が表示されたところだ。 実行ファイルの場所は 図5の「postgresql_83.xml」は一般ユーザでは書き込み禁止だが、読むだけはできるのでテキストエディタなんかで開いちゃえばいい。必要な情報は全部そこに書いてある。
何がどの情報かそれほど正確にわからなくても、「実行ファイル」だったら「/usr/bin」もしくは「/usr/ナントか/bin」フォルダにあるんだろうと目星をつけて設定ファイルの内容を探すと、「/usr/postgres/8.3/bin」という記述が見つかる。これが「psql」も含むPostgreSQL8.3の実行ファイルの置き場所だ。 データファイルの場所は データファイルのように使用するたびに書き換えられるファイルは「var」フォルダに入っていることが多い。と思って設定ファイルを探すと、「/var/postgres/8.3/data」という記述が見つかる。
このデータフォルダの「プロパティ」を見ると、所有者はちゃんと「postgres」に指定されている。
なにッ、変身できないだと PostgreSQLでは、全ての権力を握るrootユーザがデータベースを扱うと危険すぎるので、専門のユーザ「postgres」を管理ユーザとして使うように強く奨励っていうか「データベース操作はrootではダメゼッタイ」と言われちゃう。
「No shell」というエラーで、postgresになれない。これは一体どうしたことだーッ。 postgresユーザの正体は OpenSolarisには、ユーザの情報を「見る」いい方法がある。デスクトップの上にある「システム」メニューで「システム管理」さらに「ユーザとグループ」を見つけて選択する。
「ユーザとグループ」のウィンドウは図12のようなものだ。
postgresユーザの「プロパティ」を調べると、「ログインシェル」が「/usr/bin/pfksh」になっている。
この「pfksh」てヤツがOpenSolarisにないのが問題(※7)なのだ。ちなみにSolaris10では、ちゃんとある。
「pfksh」てナンナンダ 「簡単セットアップでひと安心」編で、PostgreSQLに追加した「noniko」は実は役割(ロール)だと述べたが、最近のSolarisやOpenSolarisでも同様のことがある。 「postgres」は姓はポス山名はグレ夫、獅子座のB型で浜松出身、好きな食べ物は焼きビーフンで、Firefoxでエヘヘなページを見たりOpenofficeで報告書を書いたりというような(※8)「現実の操作者」ではない。だが、そういう操作者は確かにいる。だからシステム上には「普通のユーザ」と「役割」の二種類に名前がつけられる。 そんな役割postgresが使うという「pfksh」の「pf」は、プロファイルのプにプロファイルのフ。ユーザに「プロファイル」として与えられた詳しい権限に基づいてコマンドを実行できるように取り計らってくれる(※9)シェルのことだというのだ。 でもココにないものはしょうがない。無責任にいじる(※10)のもよろしくないので、OpenSolarisのバージョンアップを待つことにする。
本記事は、サンのユーザ様自らの体験をお寄せいただいたものであり、サン・マイクロシステムズ社としての公式情報ではありません。 | Sun Fun Times
|
||||||||||||||||||||||||||||||||||||||||||||||||