kazu-h に投稿


Windows版の場合

Cygwinの配布パッケージは現在7.3.xのみ。
Linux側では7.2.xを使用しているが、7.3.xではスキーマ対応の拡張や、
languageの扱いなどが異なっており、pg_dump/pg_restoreではデータの
移行に問題が生じる。
そこで、cygwin配布の7.3.xをアンインストールし、日本語PostgreSQLを
配布しているサイトから7.2.3をダウンロード、インストールしたが素直に
動作しなかった。

Cygwinのインストールパスの変更に伴うトラブル

CygwinをCドライブからDドライブに移動させたところipc-daemonが動作
しなくなった。
原因は、Windowsの環境変数のCygwinの実行パスがCドライブのままに
なっていたため、Dドライブに変更した。
最初、ipc-daemonを1.13から1.11に変更したせいかと思い、サービスの
登録のしなおしなど、いろいろ試したが効果はなかった。

PostgreSQL起動アカウントの変更に伴うトラブル

最初はユーザアカウントとPostgreSQLを同一にしていたが、バージョンの
変更にあわせて、PostgreSQL用にpostgresアカウントを作成し、initdb、
postmasterの起動などを行わせたところ、7.2.xで読めるように加工した
7.3.xのバックアップデータのうちPLPGSQL言語の部分で支障が出るように
なった。
原因としては勘違いで、もともと7.3.xで作成されるpg_dumpファイルの
PLPGSQL記述が7.2.xでは読み込めないようだった。
(結局、ユーザアカウントでPostgreSQLを起動するように戻した)
psqlでEUC_JPのデータベースのテーブル一覧などを行おうとすると、Invalid
EUC_JP character...などと表示されて、できなくなった。
linux機からのアクセスや、ODBCを経由してACCESSなどからアクセスでは
問題がおきていないので、原因は7.2.3に含まれるpsql側にあるとして特に
対処しないことにした。 LANG=Cとすると、表示されるが文字化けが発生
するという現象に出くわしたが、再インストールのときにlessが日本語対応
のものでなくなったためだった。

Linux版の場合

RedHatLinuxではRPMパッケージで提供されているので、Linuxのインストー
ルのときに選択するか、インストール後にパッケージの追加を利用してインス
トールします。
PlamoLinuxでもパッケージが提供されているのでinstallpkgコマンドを利用
してインストールします。
いずれの場合も、データベース運用ユーザとしてpostgresを登録し、データ
ベースの初期化を行い、データベース起動スクリプトが登録されます。
インストール時、運用時のトラブルについては、自分で組んだPCや、海外
メーカのPCの場合は、特にありませんでしたが、国産メーカーのPCの場合は
一機種はOSのインストールそのものに、 別の機種ではOSのインストール
ならびにデータベースの運用時にハードが原因のトラブルに見舞われました。
もともとのチップやパーツなどに中途半端なチューニングを加える国産品は、
素性の明らかでないノーブランドのものよりも同じ部品を使ったハードとしての
互換性が敢えて低くなるように、営業上の理由から(たとえば自社のソフト
ウェアが他社の製品で動作しないようにするためなど)、つくっていますので、
Linuxを動作させる上では不適切なのかも知れません。
(ひどいのになると単なるローカライズの過程で互換性が失われてしまった
ようなものもあります)
ただし、以上は、あくまで当方での経験での話しですので、一般的な品質に
対してまでそうであるとは誤解なきよう。

データベース作成においてのミスについて

 

category