备份

sudo pg_dump -U  username  -f  filename.sql  dbname

恢复

psql -U username -f filename.sql dbname

 

-------------备份某张表-----------------

(导出dbname数据库中表tablename的数据,以insert语句的形式)

sudo pg_dump -U  username  -f  filename.sql -t tablename --column-inserts dbname

----------------------------------------------

 

--------------------------备份时出现错误 ---------------------------------------

--------------------------错误提示  Peer authentication failed for user "postgres"

Peer authentication 是默认的配置,如果你的计算机用户名和你的postgres数据库名是一样的话,那么就不会出现此错误,不需要为你的数据库设置密码。

还有一种md5 authentication,它需要密码。

而我的计算机用户名和我的数据库名不一致,所以需要把Peer authentication改成md5 authentication,然后给数据库设置密码

sudo vi /etc/postgresql/9.5/main/pg_hba.conf

执行命令 

找到下面的一行:

local   all             postgres                                peer

改成

local   all             postgres                                md5

然后 service postgresql restart