Pgadmin
如何在沒有 PSQL 控制台外掛的情況下使用 pgAdmin 導入數據庫轉儲 (.sql)?
我正在嘗試使用 pgAdmin 導入數據庫轉儲 (.sql)。我想只使用 GUI,而不是 PSQL 控制台(我可以在 Unix 或 Windows 上導入 sql轉儲
\i /path/to/yourfile.sql
)\i C:\\yourfile.sql
。那可能嗎?如果是這樣,怎麼做?新的導入工具似乎只能導入表中的數據:
恢復功能似乎不接受 .sql:
最後,我無法在查詢生成器中載入我嘗試導入的 .sql,因為它太大(25 GB)。
我已使用此 pl/pgsql 函式為每個表創建一個 .csv 文件:
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', 'configuration') 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/