PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Експортирайте базата данни на Postgres в CSV файл

Направих тази функция pl/pgsql за създаване на един .csv файл на таблица (без изгледи, благодарение на @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;

И го използвам по следния начин:

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. Хлъзгав проблем при работа с PostgreSQL

  2. не мога да се свържа с Postgres (pg) база данни от моя Ruby Script, използвайки gem pg (Това не са релси, просто чист рубин)

  3. Как да намерите и изтриете някои таблици от базата данни на PostgreSQL

  4. Не може да се премахне роля, която е предоставена за свързване на база данни

  5. Заявките в pg_stat_activity са съкратени?