Linux源码安装pgadmin4,Centos 7源码编译安装Postgresql-9.4

Centos 7源码编译安装Postgresql-9.4

下载地址:https://www.postgresql.org/download/

1、安装gcc

2、安装readline-devel

3、安装zlib-devel

4、上传Postgresql-9.4源码包到服务器

5、解压源码包

(1)#tar -zxvf postgresql-9.4.18.tar.gz

6、创建postgresql安装目录

(1)#mkdir /postgresql

7、创建postgresql数据目录

(1)#mkdir /pgdata

8、检查安装环境

(1)#./configure –prefix=/postgresql

注意:–prefix是指定要安装的目录,这个目录要提前创建出来

9、进行编译

(1)#make

8、进行安装

(2)#make install

9、创建普通用户postgres

(1)#useradd postgres

10、修改postgresql的安装目录与数据目录的所属用户和组

(1)#chown -R postgres:postgres /postgresql/

#chown -R postgres:postgres  /pgdata/

11、给postgresql用户设置密码

(1)#passwd postgres

12、设置postgres用户的环境变量

(1)#su - postgres

(2)vim /home/postgres/.bash_profile

(3)注释原有的  #PATH=vim /home/postgres/.bash_profile  (3)注释原有的  #PATH=PATH:HOME/.local/bin:HOME/.local/bin:HOME/bin

(4)增加以下内容:PGHOME=/postgresql

export PGHOME

PGDATA=/pgdata

export PGDATA

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

export PATH

注意:最后 export PATH 默认在脚本中存在,不用重复添加。

12、检查环境变量配置

(1)$ source ./.bash_profile

这个命令是使配置的环境变量立即生效

(2)切换到任意目录,执行以下命令:

$which psql

$ psql -V

如果这2条命令,都有执行结果,则表示环境变量配置成功。

13、初始化数据库

$ cd  postgresql/bin

(1)$./initdb

注意:此处可以使用 initdb –help初始化相关的帮助信息

如果在初始化的时候,没有指定数据文件目录,则默认使用环境变量中配置的PGDATA目录

(2)初始化成功后,可以看到PGDAT目录下生成了相关的数据文件和配置文件

启动: ./postgres -D /home/pgdata &

14、启动postgresql数据库

(1)mkdir/postgresql/log创建postgresql数据库存放日志的目录/home/pgdata &)mkdir/postgresql/log创建postgresql数据库存放日志的目录(2) pg_ctl start -l /postgresql/log/pg_server.log

postgresql数据库启动命令

15、验证启动是否成功

(1)查看服务器进程

$ps -ef | grep postgres

出现如下表所示的信息,则表示数据库启动成功[postgres@localhost ~]$ ps -ef | grep postgres

postgres   2093      1  0 22:34 pts/0    00:00:00 /postgresql/bin/postgres

postgres   2095   2093  0 22:34 ?        00:00:00 postgres: checkpointer process  postgres   2096   2093  0 22:34 ?        00:00:00 postgres: writer process  postgres   2097   2093  0 22:34 ?        00:00:00 postgres: wal writer process  postgres   2098   2093  0 22:34 ?        00:00:00 postgres: autovacuum launcher process  postgres   2099   2093  0 22:34 ?        00:00:00 postgres: stats collector process  postgres   2270   2231  0 22:41 pts/1    00:00:00 grep --color=auto postgres12345678

(2)查看postgresql默认端口5432是否处于监听状态$netstat -an | grep 5432[postgres@localhost ~]$ netstat -an | grep 5432tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN     tcp6       0      0 :::5432                 :::*                    LISTEN     unix  2      [ ACC ]     STREAM     LISTENING     31009    /tmp/.s.PGSQL.543212345

16、设置postgresql允许远程主机连接

(1)修改/pgdata目录下的pg_hba.conf文件,在IPv4 local connections这行的下面,添加以下参数

含义:host表示安装postgresql的主机,第一个all表示数据库,第二个all表示用户,0.0.0.0/0表示允许连接的IP地址,md5表示连接时的加密方式。host    all             all             0.0.0.0/0               md5

17、设置postgresql对本机的所有IP进行监听

(1)修改/pgdata目录下的postgresql.conf文件,在connection setting这块,添加以下参数listen_addresses = '*'

18、设置数据库密码

(1)postgersql默认的数据库是postgers,在服务器上输入psql进入数据库命令行客户端

$psql

(2)在客户端里输入\password设置数据库密码

postgres=# \password

(3)在客户端里输入\l即可查看postgersql当前有哪些数据库

19、记住:修改了数据库运行参数后,要重启数据库,使配置生效。

20、在远程服务器上,通过客户端(pgAdmin III或者Navicat Premium)连接postgresql数据库,验证是否可以正常连接。

21、设置postgersql开启自启动(此处使用root用户进行设置)

(1)postgersql开机自启动脚本在源码程序包的“postgresql-9.4.18/contrib/start-scripts/”目录下,脚本名为“linux”。

(2)将此linux文件拷贝纸/etc/init.d目录下,并重命名为postgresql

#cp postgresql-9.4.18/contrib/start-scripts/linux /etc/init.d/postgresql

(3)给postgersql启动脚本赋予执行权限

#chmod u+x /etc/init.d/postgresql

(4)修改/etc/init.d/postgresql文件,需要注意以下几项参数:

注意:prefix:postgersql的安装主目录;PGDATA:postgersql的数据文件目录;PGUSER:启动postgersql数据库的用户名;PGLOG:postgersql运行日志的存放路径。# Installation

prefixprefix=/postgresql

# Data directory

PGDATA="/pgdata"

# Who to run the postmaster as, usually "postgres".  (NOT "root")

PGUSER=postgres

# Where to keep a log file

PGLOG="$prefix/log/pg_server.log"

(5)加入开启启动

# chkconfig  --add postgresql

(6)查看设置是否成功

# chkconfig  --list postgresql

当显示以下信息,则表示已成功设置为开启自启动

postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

(7)重启服务验证

你可能感兴趣的:(Linux源码安装pgadmin4,Centos 7源码编译安装Postgresql-9.4)