2017-04-13 14 views
1

DBとテーブルを同時に作成する次のスクリプトを実行しようとしています。 PgAdminIIIを使用しているため、既存のデータベースのクエリツールを使用する必要があります。私はそれが問題を引き起こしていると思う。PgAdminIII - 1つのスクリプトでデータベースとテーブルを作成する方法

CREATE DATABASE homework; 

CREATE TABLE exampletable (
    id int NOT NULL, 
    description text, 
    PRIMARY KEY(id) 
); 

しかし、私はこのエラーを取得する:これは私のスクリプトがどのようになるで ERROR:CREATE DATABASEは、機能またはマルチコマンド文字列から実行することはできません **********エラー**********

ERROR:すべてのヘルプは高く評価され25001

:CREATE DATABASEは、機能またはマルチコマンド文字列 SQL状態から実行することはできません!あなたは大好き!

+0

なぜこのようにしているのですか? 'ERROR:データベース間の参照は実装されていません:" test1.public.exampletable "'したがって、複数のコマンド文字列でデータベースを作成しても、 dblinkのようなものを使わない限り、その中に何かを作成することはできません。 –

答えて

0

これは、PgAdmin3がBEGIN ... ENDトランザクションブロックでクエリをラップするためです。 psqlのは、自動コミットモードでこれらのステートメントを実行しますので、これらはそれぞれがトランザクションに個別に実行されるだろう

CREATE DATABASE homework; 

\c homework; 

CREATE TABLE exampletable (
id int NOT NULL, 
description text, 
PRIMARY KEY(id) 
); 

、あなたのようにテーブルを作成します。あなたはpsqlの中で同じことをした場合、あなたはこれを行うことができます期待する。

+0

psqlはpgadminと同じではありませんか?どこからpsqlをダウンロードすればよいですか? – user3400351

0

選択&クエリツールで各CREATE SQLを一度に実行します。

関連する問題