Linux上部署postgreSQL(个人实测)

目录

 

所有安装包下载地址:

      链接:https://pan.baidu.com/s/1pCsHXlHGS8I1h1A9jdsGPg 
提取码:ilos

一:上传到 /tools目录中

 

二:进行解压

tar -zxvf postgresql-9.3.1.tar.gz -C /training

 

三:执行安装

1:进入解压后的postgresql-9.3.1目录

cd /training/postgresql-9.3.1/

2:编译源码

[root@server2 tools]# cd /training/postgresql-9.3.1/

[root@server2 postgresql-9.3.1]# ./configure -prefix=/training/postgresql-9.3.1

 

1:安装gcc

cd /tools/gcc

[root@server2 gcc]# rpm -ivh *.rpm --nodeps --force

 

再次配置

[root@server2 postgresql-9.3.1]# ./configure -prefix=/training/postgresql-9.3.1

2:安装readline

 

下载地址:

http://rpmfind.net/linux/RPM/centos/6.10/x86_64/Packages/readline-devel-6.0-4.el6.x86_64.html

 

rpm -ivh readline-devel-6.0-4.el6.x86_64.rpm --nodeps --force

 

3:安装zlib-devel

1:下载地址

rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm --nodeps --force

 

 

http://rpmfind.net/linux/rpm2html/search.php?query=zlib-devel

2:再次配置

cd /training/postgresql-9.3.1

[root@server2 postgresql-9.3.1]# ./configure -prefix=/training/postgresql-9.3.1

 

会提示:checking for inflate in -lz... no

configure: error: zlib library not found

If you have zlib already installed, see config.log for details on the

failure. It is possible the compiler isn't looking in the proper directory.

3:安装zlib-devel

rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm --nodeps --force

 

4:配置成功

[root@server2 tools]# cd /training/postgresql-9.3.1/

[root@server2 postgresql-9.3.1]# ./configure -prefix=/training/postgresql-9.3.1

 

四:编译

1:编译

make

 

2:编译安装

make install

 

安装完成

 

五:相关设置

1:创建用户名和密码

1) 创建postgres用户

#useradd postgres

修改postgres密码

#passwd postgres

 

2:创建文件存放目录

[root@server2 postgresql-9.3.1]# mkdir -p /mnt/pgsql/data

[root@server2 postgresql-9.3.1]# chown -R postgres:postgres /mnt/pgsql

[root@server2 postgresql-9.3.1]# ll /mnt

 

 

[root@server2 postgresql-9.3.1]# chown -R postgres:postgres /mnt/pgsql/data

 

3:对数据进行初始化

进入安装目录

cd /training/postgresql-9.3.1

/training/postgresql-9.3.1/bin/initdb -D /mnt/pgsql/data -EUTF-8

 

su postgres

必须切换成root用户才可以完成初始化

/training/postgresql-9.3.1/bin/initdb -D /mnt/pgsql/data -EUTF-8

 

4:修改postgresql.conf 配置文件

配置任意客户端即可连接,开放端口:5432

vim /mnt/pgsql/data/postgresql.conf

 

5:修改pg_hba.conf 配置文件

修改后,其他远程客户端也可以进行连接,当然这里可以做一些配置,只允许指定IP地址访问也是可以的

vim /mnt/pgsql/data/pg_hba.conf

host  all  all  0.0.0.0/0  trust

 

6:设置PostgreSQL开机自启动(环境变量配置)

PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下

1:进入目录

cd /training/postgresql-9.3.1/contrib/start-scripts

2:授予权限

chmod a+x linux

3:复制环境目录

复制linux文件到/etc/init.d目录下,更名为postgresql

cp linux /etc/init.d/postgresql

 

4:配置环境变量

修改/etc/init.d/postgresql文件的两个变量

vim /etc/init.d/postgresql

1:prefix设置为postgresql的安装路径:

prefix=/training/postgresql-9.3.1

2:PGDATA设置为postgresql的数据目录路径:

PGDATA="/mnt/pgsql/data"

3:日志文件路径

PGLOG="/mnt/pgsql/data/pgsql.log"

 

六: 启动和连接数据库

1:启动数据库

1:进入 postgres用户

su postgres

2:启动

/training/postgresql-9.3.1/bin/pg_ctl -D /mnt/pgsql/data/ -l /mnt/pgsql/data/pgsql.log start

2:查看进程

ps -ef | grep postgres

 

3:设置postgresql服务开机自启动

su postgres

chkconfig --add postgresql

 

七:数据库备份和导入导出(整库)

1:创建测试表

为了便于测试,在数据库中创建了一张表

CREATE TABLE test_0824(

ID INT PRIMARY KEY NOT NULL,

NAME TEXT NOT NULL,

AGE INT NOT NULL,

ADDRESS CHAR(50),

SALARY REAL

);

 

2:数据库的备份

 

进入到安装目录的bin目录

cd /training/postgresql-9.3.1/bin/

 

进行备份

./pg_dump -h server2 -U postgres postgres> /data/dump.sql

备份完成后,进入到 /data目录,会找到dump.sql文件

 

3:数据库的还原

现在删除测试用表test_0824

1:进入postgresql的bin目录

cd /training/postgresql-9.3.1/bin

2:执行命令

./psql -h server2 -p 5432 postgres -W postgres </data/dump.sql

-h server2 服务器名称

-p 5432 postgresql端口号

postgres 默认

-W postgres 数据库名称

 

现在再看,表已经恢复

最后一步:进行授权

   

/* 修改用户权限 */

ALTER ROLE username WITH privileges;

/* 赋给用户表的所有权限 */

GRANT ALL ON tablename TO user;

/* 赋给用户数据库的所有权限 */

GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值