postgresql的copy语句和备份恢复

copy语句

COPY 是指在 PostgreSQL表和标准文件系统文件之间交换数据。                                                                                    
COPY TO 把一个表的所有内容都拷贝到一个文件, 而 COPY FROM 从一个文件里拷贝数据到一个表里(把数据附加到表中已经存在的内容里)。          

PostgresSQL使用Copy命令能大大提高数据导入速度                                
主要使用的语句如下:  

COPY factsearch.atm_evidence_data FROM 'E:\7.csv' with ( FORMAT csv, DELIMITER ',', header false, quote '"', encoding 'SJIS');

CSV 模式可以识别和生成带有引号包围的回车和换行的 CVS 文件。 因此这些文件并不像文本模式的文件那样严格地每个数据行一行。

备份与恢复

在postgresql的安装目录的bin目录下存在pg_dump.exe和psql.exe两个exe文件,我们使用pg_dump和psql命令依赖于这两个文件。

在实施时,利用windows的cmd进入到postgresql的安装目录的bin目录下,再利用上述命令进行备份。

在linux系统下命令依然有效。

备份过程:    
备份所有公共对象,包括编码用户,权限等
pg_dump all –h localhost –U username –p 5432 –g –f xxx/global.sql
第二步,备份某一个数据库
pg_dump –h localhost –U username –p 5432 –d dbname  –C  –f xxx/xxxdb.sql
“-C”选项,可以将建库的语句也输出到文件中;如果手动建库,则需要去除该选项


还原过程:
还原数据的时候,根据备份的过程,先还原全局对象,再还原数据库
首先恢复全局的信息,包括用户,编码等:
psql –h localhost –U username –p 5432 –f xxx/global.sql
其次恢复某数据库
psql –h localhost –U username –p 5432 –f xxx/xxxdb.sql
备份pg_dump中写了”-C”,它会自动建库,如果没有写这个选项,要在psql中写-d xxxdb
 

                             
                                                                         

猜你喜欢

转载自blog.csdn.net/min0324/article/details/85164909