PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Xuất dữ liệu có chứa nguồn cấp dữ liệu dòng dưới dạng CSV từ PostgreSQL

Để bạn có thể xuất tệp trong một máy chủ khác, bạn có hai tùy chọn:

  • Tạo một thư mục chia sẻ giữa hai máy chủ để cơ sở dữ liệu cũng có quyền truy cập vào thư mục này.

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

  • Kích hoạt xuất từ ​​máy chủ đích bằng STDOUT trong tổng số COPY . Sử dụng psql bạn có thể đạt được điều này bằng cách chạy lệnh sau:

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

CHỈNH SỬA :Giải quyết vấn đề về các trường chứa nguồn cấp dữ liệu dòng (\n )

Trong trường hợp bạn muốn loại bỏ các nguồn cấp dữ liệu dòng, hãy sử dụng REPLACE chức năng.

Ví dụ:

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

Xóa nguồn cấp dữ liệu dòng:

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

Vì vậy, COPY của bạn sẽ trông như thế này:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres Chèn vào quy tắc xem với mệnh đề trả lại

  2. Tổng quan về bộ nhớ đệm cho PostgreSQL

  3. Đầu ra INFO mặc dù đã ĐẶT client_min_messages ĐỂ CẢNH BÁO ngay trước đó

  4. JDBC chèn mảng thực

  5. SQL nhóm mối quan tâm / hàng chồng chéo