Linux虚拟机安装 postgresql-9.3.1.tar.gz

一、环境

centos6
postgresql-9.3.1.tar.gz

二、准备工作

1.虚拟机可以上网

2.关闭防火墙

三、先安装 make gcc gcc-c++readline-devel zlib-devel 。如果已安装,可以忽略

这些都是依赖。

[root@linhplocal]# yum -y install gcc

 

[root@linhplocal]# yum -y install gcc-c++

 

[root@linhplocal]# yum -y install readline-devel

 

[root@linhplocal]# yum -y install zlib-devel

 

[root@linhppostgresql-9.3.1]#yum -y install make

四、开始安装

4.1 解压 tar -zvxf postgresql-9.3.1.tar.gz

我的postgresql-9.3.1.tar.gz安装包放在 /usr/local

[root@linhplocal]# pwd

/usr/local

[root@linhplocal]# tar -zvxf postgresql-9.3.1.tar.gz

...解压过程

[root@linhplocal]# cd postgresql-9.3.1

[root@linhppostgresql-9.3.1]#

4.2 创建linux用户及密码

我的密码设置为123456

[root@linhppostgresql-9.3.1]#adduser postgres

[root@linhppostgresql-9.3.1]#passwd postgres

Changingpassword for user postgres.

Newpassword:

BADPASSWORD: it is too simplistic/systematic

BADPASSWORD: is too simple

Retypenew password:

passwd:all authentication tokens updated successfully.

[root@linhppostgresql-9.3.1]#

4.3 开始安装

[root@linhppostgresql-9.3.1]#pwd

/usr/local/postgresql-9.3.1

// 配置

[root@linhppostgresql-9.3.1]#./configure --prefix=/usr/local/postgresql

// 编译

[root@linhppostgresql-9.3.1]#make

//安装

[root@linhppostgresql-9.3.1]#make install

4.4 配置环境变量

在环境变量 /etc/profile 最后加入
PATH=$PATH:/usr/local/postgresql/bin

[root@linhppostgresql]#cd /usr/local/postgresql

[root@linhppostgresql]#ls

bin  include lib  share

[root@linhppostgresql]#vi /etc/profile

在文件最后加入:PATH=$PATH:/usr/local/postgresql/bin

 

然后刷新环境变量,即时生效

[root@linhppostgresql]#source /etc/profile

输出环境变量,查看是否设置成功

[root@linhppostgresql]#echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/java/jdk1.8.0_91/bin:/opt/java/jdk1.8.0_91/jre/bin:/root/bin:/opt/java/jdk1.8.0_91/bin:/opt/java/jdk1.8.0_91/jre/bin:/usr/local/postgresql/bin

4.5 初始化数据库

[root@linhppostgresql]#pwd 

/usr/local/postgresql

[root@linhppostgresql]#mkdir data

[root@linhppostgresql]# ls

bin  data include  lib  share

[root@linhppostgresql]#chown postgres:postgres /usr/local/postgresql/data/

[root@linhppostgresql]# supostgres

[postgres@linhppostgresql]$ /usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/

4.6 复制并修改配置文件(修改存放数据目录)

切换到root

复制安装目录下的linux文件到/etc/init.d/中,并将linux名称重命名为postgresql

[root@linhppostgresql-9.3.1]#cp /usr/local/postgresql-9.3.1/contrib/start-scripts/linux/etc/init.d/postgresql

[root@linhppostgresql-9.3.1]#vi /etc/init.d/postgresql

[root@linhppostgresql-9.3.1]#chmod +x /etc/init.d/postgresql

4.7 启动数据库,和设置开机自启

[root@linhppostgresql-9.3.1]#/etc/init.d/postgresql start

StartingPostgreSQL: ok

[root@linhppostgresql-9.3.1]#chkconfig postgresql on

[root@linhppostgresql-9.3.1]#

4.8 创建数据库操作的历史文件

创建文件,并授予postgres权限

[root@linhppostgresql-9.3.1]#touch /usr/local/postgresql/.pgsql_history

[root@linhppostgresql-9.3.1]#chown postgres:postgres /usr/local/postgresql/.pgsql_history

[root@linhppostgresql-9.3.1]#

4.9 测试数据库是否创建成功,并且连接数据库

使用 \q 即可退出数据库连接

[root@linhppostgresql-9.3.1]#su postgres

[postgres@linhppostgresql-9.3.1]$ createdb test

[postgres@linhppostgresql-9.3.1]$ psql test

psql(9.3.1)

Type"help"for help.

 

test=# \q

[postgres@linhppostgresql-9.3.1]$

到此,数据库已经安装成功。

五、修改数据库外网访问

Linux 修改PostgreSQL外部访问白名单
先关闭防火墙,或者开放5432端口

主要修改两个配置文件

[root@linhppostgresql-9.3.1]#find / -name pg_hba.conf

[root@linhppostgresql-9.3.1]#find / -name postgresql.conf

5.1 先关闭数据库服务

关闭数据库服务

[postgres@linhppostgresql-9.3.1]$ su

Password:

[root@linhppostgresql-9.3.1]#/etc/init.d/postgresql stop

StoppingPostgreSQL: ok

[root@linhppostgresql-9.3.1]#

5.2 修改pg_hba.conf

将默认的

host all all 127.0.0.1/32 trust

修改为

host all all 192.168.1.1/32trust #IP全匹配

hostall all 192.168.1.1/24 trust #IP匹配前三段

hostall all 0.0.0.0/0 trust #全部允许

5.3修改postgresql.conf

listen_addresses 默认是注释掉的,打开即可

修改默认的

listen_addresses = 'localhost'

listen_addresses = '*'

如果需要修改端口,可以修改 listen_addresses下一行

5.4 重启postgresql服务

/etc/init.d/postgresql start

5.5 测试本地连接 ( 这里我修改了端口为5444)

[postgres@linhppostgresql-9.3.1]$ psql -h 127.0.0.1 -d postgres -U postgres -p 5444 psql

psql(9.3.1)

Type"help"for help.

 

postgres=#

 


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐