linux 平台下 postgres 使用 (安装 启动 关闭 数据备份 还原)

安装

1、下载postgresql最新版:http://www.postgresql.org/ftp/source/
2、解压文件:
  tar zxvf postgresql-8.3.7.tar.gz
  cd postgresql-8.3.7
3、配置:
  ./configure --prefix=/usr/local/pgsql
4、编译:
  make
5、安装:
  make install
6、创建用户组和用户:
  groupadd postgres
  useradd -g postgres postgres
7、创建数据库库文件存储目录、给postgres赋予权限:
  mkdir /usr/local/pgsql/data
  cd /usr/local/pgsql
  chown postgres.postgres data
8、初始化数据库目录:
切换用户
  su - postgresql
初始化数据
  /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
启动数据库
  /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
9、配置监听地址和端口:
vi /usr/local/pgsql/data/postgresql.conf
修改
  listen_addresses = '*'
  port = 5432
10、允许远程连接:
vi /usr/local/pgsql/data/pg_hba.conf
修改
  host all all 0.0.0.0/0 trust
配置iptables让远程主机能访问:
  vi /etc/sysconfig
  添加
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
  service iptables restart
11、让postgresql数据库随系统启动而启动:
将启动脚本拷贝到/etc/init.d/目录下,具体执行如下命令:
cd /etc/rc.d/init.d
cp (第一步解压的安装文件目录)/postgresql-8.3.7/contrib/start-scripts/linux postgresql
chmod +x postgresql
vi postgresql
  prefix=/usr/local/pgsql
  PGDATA="/usr/local/pgsql/data"
  PGUSER=postgres
  PGLOG="/var/log/pgsql.log"

  chkconfig --add postgresql
启动数据库:
service postgresql start

 

手动启动关闭:
su - postgres
pg_ctl start -D /usr/local/pgsql/data -o -i 
pg_ctl stop -D /usr/local/pgsql/data -o -i 
pg_ctl restart -D /usr/local/pgsql/data -o -i 

 

psql 使用

[test@test bin]$ ./psql -n dbname -U usrname
stay81=# select count(*) from table1;
 count
-------
  5986
(1 row)

// 退出,使用结束后退出,不然连接一直被挂起
stay81=# /q

 

数据备份还原

// postgres 数据导出
[postgres@test bin]$ ./pg_dump -U postgres -t testTable -d testDB > testTable.dump
// postgres 数据导入
[postgres@test bin]$ ./psql -U postgres -d testDB < testTable.dump

// postgres 数据导出
[postgres@test bin]$ ./pg_dump -U postgres -d stay81 -t item_search -F c -v > item_search.dump
// postgres 数据导入
[postgres@test bin]$ ./pg_restore -U postgres -d testDB < testTable.dump

// 一台主机上将数据库目录转储到另一台主机上
pg_dump -h host1 -p post1 dbname | psql -h host2 -p post1 dbname
./pg_dump -U postgres -d testDB1 -t testTable | ./psql -U postgres -d testDB2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Somnus_小凯

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值