機能
カラムナテーブルから、CSV(可変長)形式でレコードを抽出します。
書式1
pgxa_export_from_table(tablename, outputfile, condition, delimiterr, lfcode, encoding)
書式2
pgxa_export_from_table(tablename, outputfile, condition )
引数
詳細は以下のとおりです。
引数 | データ型 | 意味 |
---|---|---|
tablename | text | 格納先テーブル名(外部テーブル名) |
outputfile | text | 出力ファイル名(260バイト未満) |
condition | text | 出力条件(最大65535バイト) |
delimiter | text | 区切り文字(注1)
|
lfcode | text | 改行コード(注2)
|
encoding | text | 文字コード(注3)
|
注1) 書式2の場合はカンマ','です。
注2) 書式2の場合は'CR+LF'です。
注2) 書式2の場合は'LF'です。
注3) 書式2の場合は'UTF8'です。
戻り値
戻り値 | 意味 |
---|---|
TRUE | 正常終了 |
FALSE | 異常終了 |
実行例
省略可能な引数を省略した場合の実行例です。
> psql postgres psql (9.2.8) Type "help" for help. postgres=# SELECT pgxa_export_from_table('scm.tbl1', 'd:\data\output.csv', 'where col1>0 and col2=''abc''' ); pgxa_export_from_table ------------------------ t (1 row)
すべての引数を指定した場合した場合の実行例です。
$ psql postgres psql (9.2.8) Type "help" for help. postgres=# SELECT pgxa_export_from_table('scm.tbl1','d:\data\output.csv','WHERE col1=1 and col2=''abc''',',','CRLF','SJIS'); pgxa_export_from_table ------------------------ t (1 row)
省略可能な引数を省略した場合の実行例です。
> psql postgres psql (9.2.8) Type "help" for help. postgres=# SELECT pgxa_export_from_table('scm.tbl1', '/data/output.csv', 'where col1>0 and col2=''abc''' ); pgxa_export_from_table ------------------------ t (1 row)
すべての引数を指定した場合した場合の実行例です。
$ psql postgres psql (9.2.8) Type "help" for help. postgres=# SELECT pgxa_export_from_table('scm.tbl1','/data/output.csv','WHERE col1=1 and col2=''abc''',',','CRLF','SJIS'); pgxa_export_from_table ------------------------ t (1 row)
説明
テーブル名は、すでに定義済の外部テーブル名を指定してください。
テーブル名に、''を指定した場合、出力条件には、出力したいクエリ(SQL文)を指定します。
未定義の外部テーブル名を指定した場合はエラーとなります。
カラムナテーブルが未定義の場合はエラーとなります。
出力ファイル名は、DWHサーバ上のファイルを絶対パスで指定してください。
出力条件の記述方法は、“J.5.18 pgxa_export_fixed_data” を参照してください。
出力ファイルの文字コードに'SJIS'を指定した場合、コード変換できない文字データの情報をログに出力します。ログの出力先は、パラメーター symas_ext.logdirで指定します。symas_ext.logdirに指定がない場合は、ログはDWHサーバのセットアップで設定した[データベースのデータ格納先ディレクトリ]に出力されます。パラメーターの変更方法については、“3.12.14.2 システム関数制御パラメーター”を参照してください。
ログのファイル名は“J.5.29 各システム関数が出力するログファイル”を参照してください。
本ファンクションを実行した場合、出力するデータの中間ファイルが出力されます。中間ファイルはパラメーター symas_ext.workdirで指定した作業用ディレクトリに出力されます。symas_ext.workdirに指定がない場合は、中間ファイルはDWHサーバのセットアップで設定した[データベースのデータ格納先ディレクトリ]に出力されます。パラメーターの変更方法に関しては、“3.12.14.2 システム関数制御パラメーター”を参照してください。
作業用ディレクトリは、出力するファイルのサイズと同等の空きが必要です。
書式1を利用する場合、同名のファイルが存在していたときの動作については、システム関数制御パラメーター symas_ext.overwriteで指定します。“上書きします”、または“エラーにします”のどれかを指定できます。省略した場合は“エラーにします”として指定されます。パラメーターの変更方法については“3.12.14.2 システム関数制御パラメーター”を参照してください。
書式1を利用する場合、出力ファイルの囲み文字については、システム関数制御パラメーター symas_ext.quotationにより指定できます。パラメーターの変更方法については“3.12.14.2 システム関数制御パラメーター”を参照してください。
書式2を利用する場合、出力ファイルの囲み文字は'(シングルクォーテーション)となります。