無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

createdb

名前

createdb -- 新しい PostgreSQL データベースを作成する

概要

createdb [ connection-option ...] [ option ...] [ dbname [ description ]]

説明

createdb は、新しい PostgreSQL データベースを作成します。

通常、このコマンドを実行したデータベースユーザが、新しいデータベースの所有者になります。 ただし、コマンドを実行するユーザが適切な権限を持っている場合、 -O オプションを使用して別のユーザを所有者に指定することができます。

createdb CREATE DATABASE という SQL コマンドのラッパです。 したがって、このユーティリティでデータベースを作成しても、これ以外の方法でサーバにアクセスしてデータベースを作成しても何も違いはありません。

オプション

createdb では、下記のコマンドライン引数を指定できます。

dbname

作成するデータベースの名前を指定します。 この名前はクラスタ内の全ての PostgreSQL データベースの中で一意でなければなりません。 デフォルトでは、現在のシステムユーザと同じ名前でデータベースを作成します。

description

新しく作成されるデータベースに関連付けるコメントを指定します。

-D tablespace
--tablespace= tablespace

データベース用のデフォルトのテーブル空間を指定します。 (この名前は二重引用符で囲まれた識別子として処理されます。)

-e
--echo

createdb が生成し、サーバに送信したコマンドをエコー表示します。

-E encoding
--encoding= encoding

このデータベース内で使用する文字符号化方式を指定します。 PostgreSQL サーバでサポートされる文字セットについては 項22.3.1 で説明します。

-l locale
--locale= locale

このデータベースで使用されるロケールを指定します。 これは --lc-collate --lc-ctype の両方を指定することと等価です。

--lc-collate= locale

このデータベースで使用されるLC_COLLATE設定を指定します。

--lc-ctype= locale

このデータベースで使用されるLC_CTYPE設定を指定します。

-O owner
--owner= owner

新しいデータベースの所有者となるデータベースユーザを指定します。 (この名前は二重引用符で囲まれた識別子として処理されます。)

-T template
--template= template

このデータベースの構築に使用するテンプレートデータベースを指定します。 (この名前は二重引用符で囲まれた識別子として処理されます。)

-V
--version

createdb のバージョンを表示し、終了します。

-?
--help

createdb のコマンドライン引数の使用方法を表示し、終了します。

オプション -D -l -E -O 、および -T は、基盤となる CREATE DATABASE というSQLコマンドのオプションにそれぞれ対応しています。 詳細はそちらを参照してください。

また createdb は、以下のコマンドライン引数を接続パラメータとして受け付けます。

-h host
--host= host

サーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。

-p port
--port= port

サーバが接続を監視するTCPポートもしくはUnixドメインソケットのファイル拡張子を指定します。

-U username
--username= username

接続に使用するユーザ名を指定します。

-w
--no-password

パスワードの入力を促しません。 サーバがパスワード認証を必要とし、かつ、 .pgpass ファイルなどの他の方法が利用できない場合、接続試行は失敗します。 バッチジョブやパスワードを入力するユーザが存在しない場合にこのオプションは有用かもしれません。

-W
--password

データベースに接続する前に、 createdb は強制的にパスワード入力を促します。

サーバがパスワード認証を要求する場合 createdb は自動的にパスワード入力を促しますので、これが重要になることはありません。 しかし、 createdb は、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。 こうした余計な接続試行を防ぐために -W の入力が有意となる場合もあります。

--maintenance-db= dbname

新しいデータベースを作成する時の接続先となるデータベースの名前を指定します。 指定がなければ、 postgres データベースが使用されます。 もし存在しなければ(またはこれが作成しようとしているデータベースの名前であれば) template1 が使用されます。

環境

PGDATABASE

この値が設定されている場合、コマンドラインで上書きされない限り、設定された値が作成するデータベースの名前になります。

PGHOST
PGPORT
PGUSER

デフォルトの接続パラメータです。 コマンドラインでも PGDATABASE でも名前が指定されていない場合は、 PGUSER が作成するデータベースの名前にもなります。

また、このユーティリティは、他のほとんどの PostgreSQL ユーティリティと同様、 libpq でサポートされる環境変数を使用します( 項31.14 を参照してください)。

診断

問題が発生した場合、考えられる原因とエラーメッセージの説明について CREATE DATABASE psql を参照してください。 データベースサーバは対象ホストで稼働していなければなりません。 また、 libpq フロントエンドライブラリで使用される、全てのデフォルトの接続設定と環境変数が適用されることも覚えておいてください。

デフォルトのデータベースサーバを使用して demo データベースを作成します。


$ 

createdb demo

eden ホスト上のポート番号5000のサーバを使用し、 LATIN1 符号化方式を使用する demo データベースを、背後で実行されるコマンドを表示させながら作成します。


$ 

createdb -p 5000 -h eden -E LATIN1 -e demo


CREATE DATABASE demo ENCODING 'LATIN1';

関連項目

dropdb , CREATE DATABASE

powered by SEO.CUG.NET