PostgreSQL 8.4を使用していますが、データベースにインポートする* .sqlファイルがいくつかあります。どうすればできますか?
コマンドラインで最初にpsqlが存在するディレクトリに到達し、次のようなコマンドを記述します:
psql [database name] [username]
次にEnterを押しますpsqlはパスワードを要求し、ユーザーにパスワードを与えます:
次に書く
> \i [full path and file name with extension]
次に、Enterを押して挿入を完了します。
コマンドラインから:
psql -f 1.sql
psql -f 2.sql
psql
プロンプトから:
\i 1.sql
\i 2.sql
特定の順序でファイルをインポートする必要がある場合があることに注意してください(例:データ操作前のデータ定義)。 bash
Shell(GNU/Linux、Mac OS X、Cygwin)があり、ファイルがアルファベット順にインポートされる場合 、次のコマンドを使用できます。
for f in *.sql ; do psql -f $f ; done
psql
アプリケーションのドキュメントを次に示します(ありがとう、フランク): http://www.postgresql.org/docs/current/static/app-psql.html
さて、私が知っている最短の方法は次のとおりです:
psql -U {user_name} -d {database_name} -f {file_path} -h {Host_name}
database_name:ファイルデータを挿入するデータベース。
file_path:インポートを実行するファイルへの絶対パス。
Host_name:ホストの名前。開発目的では、ほとんどがlocalhost
です。
コンソールでこのコマンドを入力すると、パスワードを入力するよう求められます。
「/」と「\」に注意してください。 Windowsでもコマンドの形式は次のとおりです。
\i c:/1.sql
接続サービスファイル (lookup/google 'psql接続サービスファイル')を使用して常に優先される
それから単に:
psql service={yourservicename} < {myfile.sql}
yourservicename
は、サービスファイルのセクション名です。