PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Ekspor Database Postgres ke file CSV

Saya membuat fungsi pl/pgsql ini untuk membuat satu file .csv per tabel (tidak termasuk penayangan, terima kasih kepada @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;

Dan saya menggunakannya dengan cara ini:

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. Secara Otomatis Jatuhkan Tabel dan Indeks yang Lebih Lama dari 90 Hari

  2. Fungsi Agregat sqlalchemy JSONB

  3. Tunggu skrip Python menggunakan SQLAlchemy dan multiprocessing

  4. Menyiapkan Django dan PostgreSQL pada dua instans EC2 yang berbeda

  5. Instalasi PostgresSQL gagal:inisialisasi klaster basis data gagal os MAC