sql >> データベース >  >> RDS >> PostgreSQL

ラインフィードを含むデータをPostgreSQLからCSVとしてエクスポートする

    ファイルを別のサーバーにエクスポートするには、次の2つのオプションがあります。

    • 2つのサーバー間に共有フォルダーを作成して、データベースもこのディレクトリにアクセスできるようにします。

    COPY (SELECT field1,field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;

    • STDOUTを使用してターゲットサーバーからのエクスポートをトリガーする of COPYpsqlの使用 これは、次のコマンドを実行して実現できます。

    psql yourdb -c "COPY (SELECT * FROM your_table) TO STDOUT" > output.csv

    編集 :改行を含むフィールドの問題に対処する(\n

    改行を削除したい場合は、REPLACEを使用してください 機能。

    例:

     SELECT E'foo\nbar';
     ?column? 
    ----------
     foo     +
     bar
    (1 Zeile)
    

    改行の削除:

    SELECT REPLACE(E'foo\nbaar',E'\n','');
     replace 
    ---------
     foobaar
    (1 Zeile)
    

    つまり、COPY 次のようになります:

    COPY (SELECT field1,REPLACE(field2,E'\n','') AS field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;
    


    1. PL / pgSQLの%%はどういう意味ですか?

    2. Oracleは、列の値に基づいてテーブル名を取得します

    3. MySQLデータベースでフルネームまたはファーストネームまたはラストネームを別々の列のファーストネームとラストネームで検索する

    4. Oracleのパーティションと最高水準点