プロが教える店舗&オフィスのセキュリティ対策術

初めまして、データベースを覚えようと、Windows 2000にPostgreSQL8.1を入れて見ました。
まずはテスト用のデータベースを作ろうとユーザー postgres で createdb test;とやると
EREOE: syntax error at or near "createdb" at character 1
LINE 1: createdb test;
となります。いろいろ試して create database test; で作る事が出来たのですが
その test データベースに移動するつもりで psql test; とやると又
ERROR: syntax reeoe at or near "psql" at character 1
LINE 1: psql test;
となります。文字コード関係のエラーかな?と、エンコーディングをEUCからutf8に変えて
インストールし直して見ましたが同じエラーが出ました。
createdb test;ですんなりtestデータベースを作るためにはどの様にしたらよいのでしょうか?
分かる方がいましたら、よろしくお願いします。

A 回答 (1件)

3つのコマンドが登場していますが、


(1)createdb test
(2)psql test
(3)create database test;

(1)、(2)とも、PosgreSQLの管理用コマンドでSQL文ではありません。
これらのコマンドの実体は、PostgreSQLをインストールしたディレクトリのbinフォルダの中にあります。
psql.exe
createdb.exe
という実行ファイルがあるのが確認できると思います。
これらのプログラムを

(3)は、SQL文です。psql でデータベースに接続してから
実行するものです。

bouzu01さんが、(1)のコマンドを実行されたときは
すでにpostgresユーザで、psql でデータベースpostgres
に接続した状態なので、(SQL文ではないので)当然エラーが出ます。
「createdb test;ですんなりtestデータベースを作る」ためには、以下の方法で行ってください。
PostgreSQL8.1を、c:\Program Files\PostgreSQL\8.1に
インストールしたならば、
(1)は、Windowsのコマンドプロンプトで、たとえば、
>"c:\Program Files\PostgreSQL\8.1\bin\createdb" -U postgres -E EUC_JP testdb

と入力し、Enter、postgres ユーザのパスワード入力すれば、EUC_JPのtestdbというデータベースが作られます。

確認は、
>"c:\Program Files\PostgreSQL\8.1\bin\psql" -U postgres -l
でデータベースの一覧が表示されます。
    • good
    • 1
この回答へのお礼

copymasterさんご回答ありがとうございました。
ようやくcreatedb test;で test データベースを作る事が出来ました。
どうやら スタート/プログラム/PostgreSQL 8.1/'postgres'へのpsql
を使って書こうとしていたのがつまづきの原因だった様です。
その下にあるショートカット〔コマンド・プロンプト〕を立ち上げると、
教えて頂いたc:\Program Files\PostgreSQL\8.1\bin> がデフォルトで出ていて
createdb ですんなりデータベースを作る事が出来ました。
これでようやくPostgreSQLの勉強を始められそうです。
シーラカンス本、片手に頑張ります、ありがとうございました。

お礼日時:2006/03/26 17:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す