2017-11-20 10 views
1

ランダムなデータを持つ1000個の列と1M個の行を持つcreate tableが必要です。PostgreSql:1000個の列を持つテーブルを作成するためのスクリプト

私はいくつかの列を持つテーブル内の行のINSERT 1Mためのスクリプトを知っている:

INSERT INTO foo 
    SELECT md5(random()::text), md5(random()::text), ..., md5(random()::text) 
    FROM generate_series(1, 1000000) AS i; 

をしかし、私は知らない。

  1. (colums 1000で名前をテーブルを作成する方法(SQLスクリプトが必要です)
  2. テーブルの1M行を、行の各フィールドにmd5(random()::text)の結果で挿入する方法(SQLスクリプトが必要です)
  3. テーブルを1M単位で作成することはできますか?またはPostgeSqlには1200列の制限がありますか?多分私はこの限界を変更することができますか?

答えて

0

どうcolums 1000でテーブルを作成する(名前:C1、C2、C3、...、C999、C1000)スクリプト(SQLスクリプトを必要とする)ことによって:

CREATE TABLE t AS 
WITH cte AS (
    VALUES (
    '','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
    ,'','','','','','','','','','','','','','','','','','','','','','','','','' 
) 
) 
SELECT * 
FROM cte 
WHERE 1=2; 

DBFiddle Demo

それはcolumsの1Mでテーブルを作成することは可能ですか?またはPostgeSqlには1200列の制限がありますか?多分私はこの限界を変更することができますか?

私はそうは思わない。に基づいてdoc

Maximum Columns per Table 250 - 1600 depending on column types 
+0

ありがとうございます!しかし、1)私は、この巨大なリスト( ''、 '' ...)がないと予想していました2)テーブルへの1M行の挿入方法は?アイデアはありますか? – Ivan

関連する問題