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

Hàm COPY trong PostgreSQL

Có vẻ như bạn đang nhầm lẫn giữa ký hiệu đường dẫn tệp của Linux và Windows. Những gì bạn có là một đường dẫn Linux được neo vào root. Windows sử dụng ký tự ổ đĩa, bạn cũng có thể chỉ định ký tự này khi đang chạy trên Windows.

Nếu bạn sử dụng ký hiệu Windows, hãy cẩn thận rằng bạn phải thoát dấu gạch chéo ngược nếu bạn không sử dụng standard_conforming_strings = on - là mặc định trong Postgres 9.1 trở lên, nhưng không phải trong các phiên bản cũ hơn. Như:

COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...

Với standard_conforming_strings = on bạn có thể chỉ cần viết:

COPY data_table from 'C:\tmp\outputdata.csv' WITH ...

Lưu ý rằng máy chủ Windows PostgreSQL cũng hiểu ký hiệu đường dẫn mặc định với dấu gạch chéo thay vì dấu gạch chéo ngược.

Đối với SQL COPY FROM / TO bạn có thể sử dụng bất kỳ đường dẫn nào mà chủ sở hữu của máy chủ xử lý (postgres theo mặc định) có quyền đọc / ghi.

Đối với \copy lệnh meta của máy khách psql áp dụng quyền của người dùng cục bộ hiện tại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi có thể tự động tạo bảng trong PostgreSQL từ tệp csv có tiêu đề không?

  2. Chuyển nhiều giá trị trong một tham số duy nhất

  3. Chia nhiều và gán order_id

  4. Làm cách nào để giảm các hàng kết quả của truy vấn SQL bằng nhau trong phạm vi đầy đủ?

  5. Cài đặt PostgreSQL trên Ubuntu 18.04