CSEを利用してpostgreSQLの勉強方法や環境の構築について

このQ&Aのポイント
  • CSEを利用してpostgreSQLの勉強方法や環境の構築について学校でDBの勉強をしているが、自宅でもDBの勉強環境を用意したい。サーバーを設けずに自分のパソコン上でpostgreSQLとCSEを使いたい。OSはWINDOWS XP。postgreSQLのインストールは完了しているが、CSEの設定で困っている。サーバー名とデータベース名の入力方法がわからない。
  • サーバー名にはIPアドレスを入力すれば良いのか、無線LANで接続しているためDHCP機能でIPアドレスが変わるため固定のIPアドレスがない。検索してlocalhostを試してもエラーが出る。データベース名には「仕事力~」のPostgreSQLのデータを使いたいが、ファイル名が日本語であるためエラーが出る。解決方法を教えて欲しい。
  • 質問者はCSEを利用してpostgreSQLの勉強方法や環境の構築について困っている。学校でDBの勉強をしており、自宅でも同様の環境を作りたい。postgreSQLのインストールは完了しているが、CSEの設定で問題が発生している。具体的には、サーバー名とデータベース名の入力方法がわからない。IPアドレスを入力するかどうかや、ファイル名が日本語である場合の取り扱いについて知りたい。解決方法を教えてほしい。
回答を見る
  • ベストアンサー

CSEを利用して、postgreSQLの勉強がしたいです。

学校で、DBの勉強をしています。自宅でもDBの勉強が出来る環境を用意したいです。 学校では、サーバーを設けて、サーバーにアクセスしてDBを利用する環境ですが、そうでなく、自分のパソコンにpostgreとCSEとデータを置いて、DBを使う環境で利用したいです。 OSはWINDOWS XPです。使用するDBMSは、postgreSQLで、CSEを利用し、データとして、 ttp://www.c-r.com/から提供されているのを使います。 ネットのページを参照して、postgreSQLのインストールは出来ました。 次に、CSEの設定を行いたいのですが、サーバー名とデータベースの欄に何を入力すればよいのか わかりません。 サーバー名には、IPアドレスを入力すれば良いのでしょうか? ただ、ネットには無線LANで接続しており、IPアドレスはDHCP機能でその都度割り振られており、固定のIPアドレスはありません。 検索していて、localhostと入力するとあったので、これも試しましたがエラーが出ます。  データベース接続時にエラーが発生しました。  DBエラー詳細:  fe_sendauth:authentication type 5 not supported データベース名には  ttp://www.c-r.com/>データ舘>データベースソフトの一番上にある「仕事力~」のPostgreSQL のデータを使いたいです。そのためには、ダウンロードしたこのデータのファイル名を入力すれば良いのでしょうか。ただ、ファイル名が日本語です。 こちらもエラーが出ます。  データベース接続時にエラーが発生しました。  DBエラー詳細:  connectDB()--socket() failed:errno=0  NO error 解決する知識をお持ちの方、どうかご教授ください。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

いくつかの準備作業が必要です。 (1)libpq.dllの取得&コピー (a)取得元URL http://www.interwiz.koganei.tokyo.jp/index.html  のPostgreSQL関連情報 (b)コピー先 CSE展開先フォルダ (2)PostgreSQL側の設定変更  CSEが対応しているlibpq.dllではmd5認証ができません。  PostgreSQLのインストールフォルダ下の「\data\pg_hba.conf」を開いて、下記の「md5」の部分を「trust」に変更してサービスを再起動してください。  # IPv4 local connections:  host all all 127.0.0.1/32 md5  ↓  host all all 127.0.0.1/32 trust (3)CSE起動時のサーバ名、データベース名  サーバ名=localhost  DB名=dbspace1  ←新たなDBを作成していない場合

googoo707
質問者

補足

回答ありがとうございました。 早速、記されていたように試してみました。 しかし上手くいかなかったので、どうか再度ご教授頂けないでしょうか。 宜しくお願いします。 ・libpq.dllについて 回答を頂く前にダウンロードしており、windows>system32フォルダに入れていました。  それをcseの展開先フォルダに入れなおしました。これで良いのですよね。  ちなみに、system32には、他にpsqlodbc.dll、 psqlodbc、 psqlという3つのファイル?もダウンロードして  入れてあります。 ・md5からtrustへの変更について  pg_hba.confを開くのは、pgAdminIIIというソフトを起動して、ファイル>pg_hba.conf>構成  ファイルを開くと言う画面で、pg_hba.confを選択すれば良いのですよね。  しかし、データ型という欄の下にチェックボックスが一つあるだけで  他は何も表示されません。  IPアドレスという欄もありますが、その下に何も表示されていません。    ファイル>postgresql.confを開く、で同じように、pg_hba.confを選択すると、名称設定・値・コメント  という欄の下にたくさんのチェックボックスと、アルファベットの言葉が表示されます。  文字化けしていたようで、よくわからなかったのですが、コメントの欄の辺りに、md5と書かれている所がありました。  そこをダブルクリックして、表示されたウィンドウの入力欄の「値」というところに  host all all 127.0.0.1/32 trustと入力しました。  (ちなみに再度、ファイル>postgresql.conf→pg_hba.confで、同じウィンドウを開いても。同じような   チェックボックスとアルファベットは見当たらないです。確か、ファイルを更新しますか、のようなことを聞かれ   はい、と答えました。それが関係しているのでしょうか。)  それからCSEを起動して、  サーバ名に=localhost DB名=dbspace1    と入力しました。  しかしエラーが出ます。   エラー内容:   データベース接続時にエラーが発生しました。   DBエラー詳細:   FATAL:no pg_hba.conf entry for host"127.0.0.1".user"postgre2".databese"dbspace1".SSL off    (postgre2というのは、設定したユーザー名です。 実は一度postgreをインストールしていましたが、使い方が分からず、アンインストールしました。  しかし、この前、再びインストールしました。その時、postgreというユーザー名では設定ができなかったため、postgre2という  アカウントを新たに作成し、ユーザー名に設定しました。)  ちなみに、CSE起動時にも、   SQLエクスプローラのルートフォルダが見つかりません。   SQLエクスプローラを右クリックするか、又は設定画面でルートフォルダを変更して下さい。  というエラーメッセージが出ます。      操作していて起こった状況を、できるだけ書き起こさせて頂きました。必要でない部分もあるかもしれませんが、 私にできるのはこれぐらいです。 とても自力では解決できません。ですから、再度力を貸して頂けると大変ありがたいです。 どうか宜しくお願いいたします。

その他の回答 (1)

回答No.2

すごく目茶苦茶な状態にしてしまっているような・・・。 すぐに回答できるところだけ、回答しておきます。 「libpq.dll」は、どこかからダウンロードしたものを使用していますか? CSEはここ何年も開発が停止されているので、古い「libpq.dll」を使用する必要があるようです。更新日時は、「1999/06/29 ~」のようであり、これをCSEをインストールしたフォルダに入れてください。c:\windows\system32の方は、触らないでください。 更新する必要があるconfファイルは、「pg_hba.conf」だけです。「postgresql.conf」は触らないでください。 「pg_hba.conf」を、メモ帳などのテキストエディタで開くと分かりやすいと思います。

googoo707
質問者

補足

回答ありがとうございました。 やはり無茶苦茶になっていますか・・・。 libpq.dllのダウンロードは、  http://www.interwiz.koganei.tokyo.jp/software/PostgreSQL/windows.html ここからしました。 pg_hbaをメモ帳で開きましたが、画面に何も表示されませんでした。 もう一度アンインストールして、最初から設定をやり直した方がよいのでしょうか。

関連するQ&A

  • PostgreSQLで使えるツール

    PostgreSQLで使えるツール データセンターにPostgreSQLの入ったサーバを置いており、リモートでデータベースの管理や CSVでのデータの挿入や編集等を行いたいのですが、何かよいツールはないでしょうか。 CSEが使えるかと思って試したのですが、データセンターの設定で、ODBC接続ができません。 何卒、よろしくお願いします。

  • PostgreSQLに接続できない

    PostgreSQL初心者です。 現在PostgreSQLを利用してサーバに接続しようと思っているのですが、 一向に接続できません。 利用しているレンタルサーバー会社で 「弊社サーバのPostgreSQLは、UNIXドメインソケット経由での接続のみをサポートしており、TCP/IP経由での接続はサポートしておりません。」 といわれています。 良く分からないなりに推測するに、 UNIXドメインソケット経由での接続のみでTCP/IP経由での接続はサポートしていないということは、 入力したDBサーバの、localhost又は127.0.0.1という文字は使えないということなのだと判断しています。 (このことがTCP/IP経由での接続??) だとすると、UNIXドメインソケット経由で接続したい場合は どのようにすればいいのでしょうか。 ちなみにレンタルサーバーですので、設定自体を変えることはできません。 このlocalhost又は127.0.0.1という入力方法以外で解決できる入力方法などはあるのでしょうか? 宜しくお願い致します。

  • CSEでDB接続しようとすると...

    今回お聞きしたいことは、CSEを使ってのDB接続方法についてです。 さきほど、つみきWEBサイトよりCSEをダウンロードし、 MySQLを起動させた後、さっそくCSEを使ってDB接続を試みました。 しかし接続はされず、アプリケーションが終了してしまいました。 原因を探そうとしましたが、いったいどこをどう見てよいのやらわからず。。。途方に暮れている最中です。 終了の際ウィンドウが表示され、以下のメッセージが出力されました。 ”SQL開発環境アプリケーションは動作を終了しました。” その後、問題が発生したため、プログラムが閉じられます、という内容が書かれており、有無を言わさず終了させられてしまいました。 DB名やサーバ名を変更しても、同様の現象が発生します。 申し訳ありませんがご存じの方があれば、ぜひご教授お願いいたします。

  • データベース(MySQL,PostgreSQL)付きのレンタルサーバー

    データベース(MySQL,PostgreSQL)付きのレンタルサーバーを探しています。 「データベース付き」自体はたくさんあるのですが、データベースへのアクセスがそのレンタルサーバーからでしか許可されてないものが多くて、それでは要件を満たせません。 データベースにIPアドレスで接続できて(例えばODBC接続が許可されていれば言うことはないです)、レンタルサーバーでおすすめのところ、それなりに安いところがあれば教えてください。

  • CSE PostgreSQLのテーブルにプライマリキーを作成する方法

    現在、CSEを使いPostgreSQLのテーブルから 一つの行を消そうとしたところ、 『更新対象のテーブルにプライマリキーが存在しない為、更新処理を行う事ができません。 更新処理を行うには、更新対象のテーブルにプライマリキーが定義されいる必要があります。』 と言うようなエラーメッセージが出てきて困っています。 どこを調べてもCSEでのプライマリキーの作成方法は載っていないのですが、そもそも『CSEでのプライマリキーの作成』は不可能なのでしょうか? もし、CSEで、もしくは他の方法で既存のテーブルにプライマリキーの定義の仕方を知っている方いましたらご教授下さい。 それか、PostgreSQLのデータの一部を(テーブルの内容全てではなく一行だけ)削除する方法ありましたらそちらもご教授下さい。 よろしくお願いします。

  • PostgreSQLに接続できなくなる

    以下の環境で、PostgreSQLを使用しています。 -------------------- Cobalt Raq3 PostgreSQL 6.5.2 -------------------- CSEからPostgreSQLに接続して作業していますが、 PostgreSQL起動後約10分で、接続できなくなってしまいます。 そのときのエラー内容は、 「postmaster が -iオプション付きで起動していますか?」 というものです。 SSH で /etc/rc.d/init.d/postgresql restart と打つと接続できるようになりますが、 約10分たつとまたできなくなります。 このような現象の原因として考えられることは何でしょうか? ご存知の方いらっしゃいましたら、ヒントをください。 よろしくお願いします。

  • PostgreSQLをインストールしたサーバーとは別のサーバー上で、phpPgAdminを動かせる?

    PostgreSQLがインストールされているDBサーバにはPHPがインストールされていません。 よって他のWebサーバへphpPgAdminをインストールして、 DBサーバへ接続し、データベースの編集を行おうと考えています。 このようなことはphpPgAdminで可能でしょうか? ご回答よろしくお願いします。

  • PostgreSQLに書き込むことが出来ない

    環境→Windows XP Home Edition Apache→Apache 2.0.59 PostgreSQL→PostgreSQL8.1.6 PHP→PHP4.4.4 DBに書き込もうとしていますがなかなか上手くできません。 <?php //データベースに接続する $conn = pg_pconnect("user=postgres password=grjtf dbname=mytbl"); //データベースに接続出来るかチェック if(!$conn) { //エラーメッセージ echo "An error occured.\n"; exit; } else { //接続成功メッセージ print "DB(mytbl)に接続しました。<br>"; } //データベースに接続し、mytblからidとnameを取り出す $result = pg_query($conn,"SELECT id,name FROM mytbl"); //データベース(mytbl)からidとnameを取得する if (!$result) { //エラーメッセージ echo "An error occured.\n"; exit; } else { //接続成功メッセージ print "idとnameを取得しました。<br>"; } //データベースmytblに書き込む if(isset($_POST["action"]) && $_POST["sign"] == '書き込み') { //名前とスコアが何も書かれていなかった場合 if($_POST["id"] && $_POST["name"]) { //データベースに書き込む $sql="INSERT INTO mytbl(id,name) VALUES('$id','$name')"; pg_query($conn,$sql); //成功メッセージ print "DB(mytbl)に書き込みました。<br><br>"; } else { //エラーメッセージ print "書き込めませんでした。<br><br>"; } }

    • ベストアンサー
    • PHP
  • instantclient cse接続ができない

    Oracle instantclient を利用し、 Windows64bit版oracleDB11gR2ドライバを入れましたが cse接続がうまく出来ません。 確認した症状としては、以下のものがあります。 (1)システムDSN追加したデータソースの表示がされません。  ユーザーDSNに追加した場合はcseで表示がされますが、 (2)ユーザーDSNで追加したデータソースを利用し接続を試みるとエラーとなります。 (1)については、 管理ツールのODBCデータ・ソースアドミニストレータにユーザDSNを追加した場合は、SysWOW64\odbcad32.exeの方にも自動的に追加され、cseのデータソースにはこちら だけ出てきているのは、この32bitの方を見ているせいではないかと思います。。 ちなみにドライバをインストールした直後はODBCデータ・ソースアドミニストレータに システムDSNの追加すらできず(14001エラー表示)、こちらは以下の処理で可能になりました。 mfc71.dll msvcp71.dll msvcr71.dll をsyetem32に追加 C++サービスパックedistributable Packageをインストール 似たような症状の記事もありましたが、 当方、初心者なもので、改めて質問させて頂きました。 業務上、どうしてもinstantclientを利用しDB接続する必要があり、 アドバイスがあれば、ご教授よろしくお願いします。

  • Webサーバー経由でローカルにあるPostgreSQLサーバーにAccess + ODBCで接続する方法

    現在公開しているWEBサーバーがあり、元々は同じサーバーにPostgreSQLのデーターベースサーバーも入れてありました。 最近WEBサーバーとローカル接続になる新たなサーバーを用意し、DBはそちらに移しました。 両サーバーとも設置場所は社外のデータセンターです。 これまで社内のWindowsクライアントから、Access + ODBCでDBの操作をしていたのですが、DBサーバーを外から見えない所に置いたため、接続が出来なくなってしまいました。 社内からはどうしてもAccessを使用したいため、このDBサーバーに、公開しているWEBサーバー経由でODBC接続できるような方法を教えていただけますでしょうか。 環境は下記の通りです。 ・WEBサーバー Redhat Linux 7.3 ・DBサーバー Redhat Linux 7.3 PostgreSQL 7.2.8 ・Windowsクライアント Windos 2000 Pro , Windows XP Home/Pro お手数おかけしますが、よろしくお願い致します。