在linux中Postgresql数据库如何恢复数据库?执行sql脚本文件呢?具体步骤如下:
一、恢复数据库备份文件
1、将数据库备份文件xxx.backup用连接工具拷贝到/opt下,这个不固定,位置随意放;
2、在linux中打开终端,切换到postgres用户,命令是
su - postgres (创建postgresql数据库时创建的用户),
然后cd到你安装的postgresql的bin目录下,我的安装在/opt下, 命令是
cd /opt/postgres/9.3/bin
打开之后输入命令
./psql
输入你的数据库密码,进入postgres数据库;
3、先创建好你的数据库,命令
create database xxx;
4、然后为xxx数据库恢复数据库备份文件,命令是
./pg_restore -U postgres -W -d xxx(你的数据库) -v "/opt/xxx.backup"(你的备份文件位置)
备份:pg_dump -h localhost -p 5432 -U tradesns -W -F c -b -v -f "/home/tradeworkwangbin/us2010.backup" us2010 恢复:pg_restore -h 127.0.0.1 -p 5432 -U postgres -W -d zjyj_gxversion -v "/opt/zjyj_gxversion_0410.backup"
5,linux上执行x数据库恢复数据库备份命令报没有权限问题用户“postgres”的密码认证失败。(password authentication failed for user "postgres")的修改:
解决方法:
修改一下pg_hba.conf 配置文件
把配置文件的indent都修改为trust
二、在postgres中执行sql脚本文件
1、在linux中打开终端,切换到postgres用户,然后cd到你安装的postgresql的bin目录下(同上),
cd /opt/postgres/9.3/bin
2、将你的xxx.sql文件拷贝至/opt/下,然后执行的命令如下
./psql -s xxx(xxx是你要执行的数据库) -f /opt/xxx.sql
三、科普下
1、数据库备份,命令如下:
./pg_dump -h localhost -p 5432 -U postgres -W -F c -b -v -f "/opt/xxx.backup" xxx
2.在数据库安装目录bin下,./psql 进入数据库,输入密码,c xxx(数据库名称) 进入指定数据库
i 文件路径