データベースの作成データベースサーバにアクセスできるかどうかがわかる最初の試験は、データベースの作成を試みることです。稼働中のPostgreSQLサーバは多くのデータベースを管理することができます。典型的には、プロジェクトやユーザごとに別々のデータベースが使用されます。サイト管理者により使用できるデータベースが既に作成されている場合もあります。この場合、この段階を飛ばして、次の節まで進んでください。新しいデータベースを作成するには、以下のコマンドを使用してください。この例ではmydbという名前です。mydbこの手順で何も応答がなければ、この段階は成功し、本節の残りは飛ばすことができます。以下のようなメッセージが現れた場合、PostgreSQLが正しくインストールされていません。foundPostgreSQLがインストールされていないか、シェルの検索パスに含まれていないのいずれかです。代わりに絶対パスでそのコマンドを実行してみてください。mydbこのパスはサイトによって異なるかもしれません。この問題を解決するには、サイト管理者に連絡するか、インストール取扱説明書を調べてください。他の応答として以下もあります。socket?これは、サーバが起動していないか、createdbが想定している状態でサーバがリッスンしていないかを示しています。こちらも、インストール手順を点検するか管理者に相談してください。他の応答として以下もあります。existここでjoeのところには、ログインした時のユーザ名が記載されています。(PostgreSQLユーザアカウントは、オペレーティングシステムのユーザアカウントとは別です)。自身が管理者なら、アカウントの作成方法に関して第22章を参照してください。最初のユーザアカウントを作成するためには、PostgreSQLをインストールした時のオペレーティングシステムのユーザ(通常postgres)になる必要があります。PostgreSQLユーザアカウントがオペレーティングシステムのユーザ名と異なる名前で用意されているかもしれません。その場合は、PostgreSQLのユーザ名を指定するために、-Uスイッチを使用するか、PGUSER環境変数を設定する必要があります。ユーザアカウントを持っているが、データベースを作成するために必要な権限を持っていない場合は、以下のメッセージが現れます。database全てのユーザがデータベースを新規に作成できる権限を持っているわけではありません。PostgreSQLがデータベースの作成を拒否した場合、サイト管理者からデータベースを作成する権限を付与してもらう必要があります。これが発生した場合はサイト管理者に相談してください。自身でPostgreSQLをインストールしたのであれば、このチュートリアルを実行する時は、サーバを起動したユーザアカウントでログインしてください。[1]他の名前のデータベースを作成することもできます。PostgreSQLは、与えられたサイトでいくつでもデータベースを作成することを許可しています。データベース名は、先頭がアルファベット文字から始まる、63バイトまでの長さでなければなりません。簡単な選択は、現在のユーザ名と同じ名前のデータベースを作成することです。多くのツールでは、データベース名のデフォルトとしてそれを仮定していますので、これにより入力数を減らすことができます。このデータベースを作成するには、単純に以下を実行します。createdbデータベースを使用しなくなったら、削除することができます。mydbデータベースの所有者(作成者)であれば、以下のコマンドでそれを廃棄することができます。mydb(このコマンドでは、データベース名のデフォルトはユーザアカウント名ではありません。常に指定しなければなりません。この動作は、そのデータベースに関する全てのファイルを物理的に削除しますので、取り消すことはできません。事前に熟考した場合にのみこれを実施してください。createdbやdropdbの詳細は、それぞれcreatedbとdropdbにあります。これで上手くいくのかについての説明:PostgreSQLのユーザ名はオペレーティングシステムのユーザアカウントとは分離されています。データベースに接続するとき、接続に利用するPostgreSQLのユーザ名を選択します。選択しなければ、デフォルトで現在のオペレーティングシステムのアカウントと同じ名前となります。これにより、サーバを開始したオペレーティングシステムのユーザと同じ名前のPostgreSQLユーザアカウントが、常に存在するようになっています。このユーザは常にデータベースを作成する権限を持ちます。そのユーザとしてログインする代わりに、-Uオプションを毎回使用して、接続するPostgreSQLのユーザ名を選択することができます。データベースへのアクセス。