1.4. データベースへのアクセス

データベースを作成した後、以下によってアクセスできます。

このチュートリアルの例を試すには、psqlから始めることを勧めます。 以下のコマンドを入力することによって、mydbデータベースをアクティブにすることができます。

$ psql mydb

データベース名を省いた場合、データベース名はデフォルトでユーザアカウント名となります。 この仕組みについては前節で既に説明しています。

psqlでは、始めに以下のメッセージが表示されます。

Welcome to psql 8.2.6, the PostgreSQL interactive terminal.
 
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit
 
mydb=>

最後の行は以下のようになっているかもしれません。

mydb=#

これは、データベーススーパーユーザであることを示します。 自身でPostgreSQLをインストールした場合に最もよく現れます。 スーパーユーザであることは、アクセス制御の支配を受けないことを意味します。 チュートリアルの段階では、これは重要ではありません。

psqlの起動に問題が発生した場合は、前節に戻ってください。 createdbの診断とpsqlの診断方法は似ており、前者が動作すれば後者も同様に動作するはずです。

psqlが最後に出力する行はプロンプトで、psqlが入力を監視していること、psqlが管理する作業領域にSQL問い合わせを入力できることを示しています。 以下のコマンドを試してください。

mydb=> SELECT version();
                            version
----------------------------------------------------------------
 PostgreSQL 8.2.6 on i586-pc-linux-gnu, compiled by GCC 2.96
(1 row)

mydb=> SELECT current_date;
    date
------------
 2002-08-31
(1 row)

mydb=> SELECT 2 + 2;
 ?column?
----------
        4
(1 row)

psqlプログラムは、SQLコマンドではない、多くの内部コマンドを持っています。 それらはバックスラッシュ文字"\"から始まります。 これらのうちのいくつかはwelcomeメッセージに一覧表示されています。 例えば、各種PostgreSQL SQLコマンドの構文に関するヘルプを以下のようにして得ることができます。

mydb=> \h

psqlを終了するには、以下を入力します。

mydb=> \q

psqlは終了し、コマンドシェルに戻ります (他の内部コマンドについてはpsqlのプロンプトで\?を入力してください)。 psqlの完全な能力についてはpsqlで説明されています。 PostgreSQLが正しくインストールされていれば、オペレーティングシステムのシェルプロンプトでman psqlを入力することで、その文書を参照することもできます。 このチュートリアルではこれらの機能は明示的に使用しませんが、適当と判断したところでこれらを使用しても構いません。