回答編集履歴

5

追記

2018/06/25 15:56

投稿

sazi
sazi

スコア25173

test CHANGED
@@ -19,3 +19,7 @@
19
19
  ・テーブルにダミーの項目を追加しておき、インポート後にalter tableでカラムを削除する。
20
20
 
21
21
  ・同じレイアウトのテーブルに一旦インポートして、そこからinsertする
22
+
23
+ ※postgresはcreate table などのDDL文もトランザクションに含まれるので、
24
+
25
+ 失敗による再処理でのテーブルやカラムの状態を気にかける必要はありません。

4

追記

2018/06/25 15:55

投稿

sazi
sazi

スコア25173

test CHANGED
@@ -12,4 +12,10 @@
12
12
 
13
13
 
14
14
 
15
+ 対応としては、以下が考えられます。
16
+
17
+ ・CSVの項目を削除する
18
+
19
+ ・テーブルにダミーの項目を追加しておき、インポート後にalter tableでカラムを削除する。
20
+
15
- CSVの項目を削除するか、同じレイアウトのテーブルに一旦インポートして、そこからinsertするか。
21
+ 同じレイアウトのテーブルに一旦インポートして、そこからinsertする

3

修正

2018/06/25 15:20

投稿

sazi
sazi

スコア25173

test CHANGED
@@ -1,9 +1,15 @@
1
1
  csvファイルの項目と、インポートしようとする項目の数はあっている必要があります。
2
-
3
- ロードに不要な列には任意の列名と”FILLER”、データ型を設定します。
4
2
 
5
3
 
6
4
 
7
- 以下参考にて下さい
5
+ ~~ロードに不要な列には任意の列名と”FILLER”、データ型設定ます~~
8
6
 
7
+ ~~以下を参考にして下さい。~~
8
+
9
- [COPYコマンドでCSVの特定の列をロード対象外とする方法](http://vertica-tech.ashisuto.co.jp/copy_filler/)
9
+ ~~[COPYコマンドでCSVの特定の列をロード対象外とする方法](http://vertica-tech.ashisuto.co.jp/copy_filler/)~~
10
+
11
+ ※いつの間にかできるようになったのかと思いましたが、何やらpostgresでは無いようでした。
12
+
13
+
14
+
15
+ CSVの項目を削除するか、同じレイアウトのテーブルに一旦インポートして、そこからinsertするか。

2

修正

2018/06/25 15:13

投稿

sazi
sazi

スコア25173

test CHANGED
@@ -1 +1,9 @@
1
+ csvファイルの項目と、インポートしようとする項目の数はあっている必要があります。
2
+
3
+ ロードに不要な列には任意の列名と”FILLER”、データ型を設定します。
4
+
5
+
6
+
1
- 修正中
7
+ 以下を参考にして下さい。
8
+
9
+ [COPYコマンドでCSVの特定の列をロード対象外とする方法](http://vertica-tech.ashisuto.co.jp/copy_filler/)

1

修正

2018/06/25 14:52

投稿

sazi
sazi

スコア25173

test CHANGED
@@ -1,7 +1 @@
1
- 項目を限定する場合はselect文として記述します。
2
-
3
- ```psql
4
-
5
- \copy select name,age from TEST.excel_db_import FROM 'C:\Users\Desktop\dummy.csv' WITH CSV;
6
-
7
- ```
1
+ 修正中