2016-04-27 9 views
2

INSERT INTO tbl VALUES (...), (...), ...;経由で行を挿入する場合、使用できる最大値はいくらですか?PostgreSQLのINSERT文に入れることができるVALUESの最大数はいくらですか?

PostgreSQLは、VALUESを使用して一度に複数の行を挿入することをサポートしています。私の質問は、挿入できる列の数ではなく、単一のVALUES節に挿入できる列の行の数です。問題のテーブルは〜10列しかありません。

この形式で一度に100K +行を挿入できますか?

私はSQLAlchemy Core/psycopg2を使用して自分のステートメントを組み立てています。

+2

これは、おそらくクエリ文字列の最大長によって制限されます。私は行の数に先験*の制限があるとは思わない。 –

+0

そのクエリ文字列の長さの考えですか?私はTCP経由でdbにアクセスしています。 –

+0

。 。私は特定の参考文献を見つけていない。少なくとも16Mバイトは動作すると思われますが、Pythonと中間層もその長さをサポートしているかどうかはわかりません。 –

答えて

4

Gordon氏から指摘されているように、ステートメントに含めることができる値セットの数にはあらかじめ定義された制限がないようです。しかし、クライアントとサーバーの両方で過度のメモリを消費することを避けるために、これを妥当な限度に保つ必要があります。クライアントは文字列を作成するだけでよく、サーバーもそれを解析する必要があります。

多くの行をすばやく挿入したい場合は、COPY FROMを探してください。

関連する問題