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

Xuất Cơ sở dữ liệu Postgres thành tệp CSV

Tôi đã thực hiện hàm pl / pgsql này để tạo một tệp .csv cho mỗi bảng (không bao gồm lượt xem, cảm ơn @tarikki):

CREATE OR REPLACE FUNCTION db_to_csv(path TEXT) RETURNS void AS $$
declare
   tables RECORD;
   statement TEXT;
begin
FOR tables IN 
   SELECT (table_schema || '.' || table_name) AS schema_table
   FROM information_schema.tables t INNER JOIN information_schema.schemata s 
   ON s.schema_name = t.table_schema 
   WHERE t.table_schema NOT IN ('pg_catalog', 'information_schema')
   AND t.table_type NOT IN ('VIEW')
   ORDER BY schema_table
LOOP
   statement := 'COPY ' || tables.schema_table || ' TO ''' || path || '/' || tables.schema_table || '.csv' ||''' DELIMITER '';'' CSV HEADER';
   EXECUTE statement;
END LOOP;
return;  
end;
$$ LANGUAGE plpgsql;

Và tôi sử dụng nó theo cách này:

SELECT db_to_csv('/home/user/dir');
-- this will create one csv file per table, in /home/user/dir/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có thể xác định ràng buộc BAN ĐẦU DEFERRED bằng cách sử dụng chú thích Hibernate không?

  2. Truy vấn để nhận các cuộc trò chuyện cuối cùng cho hộp thư đến của người dùng

  3. Làm cách nào để thực hiện nhiều order_by trong Flask-SQLAlchemy?

  4. PostgreSQL:Làm thế nào để trả về các hàng động từ bảng mà không sử dụng danh sách định nghĩa cột?

  5. Nhóm kết nối bị chặn goroutines