PostgreSQL數據的導出導入


PostgreSQL數據的導出導入

導出PostgreSQL數據庫中的數據:

$ pg_dump -U postgres  -f mydatabase.sql  mydatabase

導入數據時首先創建數據庫再用psql導入:

$ createdb newdatabase
$ psql -d newdatabase -U postgres -f mydatabase.sql

 

 

 

創建數據庫

 

CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8';

 

進入控制台方法,在postgreSQL的安裝目的bin下執行命令: psql 數據庫名,
 例: /usr/local/pgsql/bin/psql mydb

 

指定host、用戶名和數據庫的話,如:

 

/usr/local/pgsql/bin/psql -h localhost -U postgres -d test

 

查看版本: psql --version 或 SELECT version();

 

查看所有數據庫:\l

 

查看所有數據庫(包括詳細參數):select * from pg_database;

 

選擇數據庫:\c databasename

 

查看所有表:\dt

 

查看某個表的結構:\d tablename

 

退出psql控制台:\q

 

查看表的索引:

 

select * from pg_indexes where tablename='log';

 

導出備份數據庫:

pg_dump -h localhost -U postgres databasename > /tmp/databasename.bak.yyyymmdd.sql

導入恢復數據庫(sql文件是pg_dump導出的文件就行,可以是整個數據庫,也可以只是單個表,也可以只是結構等):

psql -h localhost -U postgres -d databasename < /tmp/databasename.bak.yyyymmdd.sql

 

導出數據結構,主要是加上參數-s:

pg_dump -U username -W dbname -f /tmp/filename.sql

導出某個表:
pg_dump -h localhost -U postgres -t tablename dbname > test.sql

導出某個表的結構,同樣是加參數"-s":
pg_dump -h localhost -U postgres -t tablename -s dbname > test_construct.sql

導出某個表的數據,加參數"-a":
pg_dump -h localhost -U postgres -t tablename -a dbname > test_data.sql

查看序列:select * from information_schema.sequences where sequence_schema = 'public';

查看數據庫大小:select pg_size_pretty(pg_database_size('test'));

查看表的大小:select pg_size_pretty(pg_relation_size('test'));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM