postgresql10.5安装
1.下载源码安装包
wget https://ftp.postgresql.org/pub/source/v10.5/postgresql-10.5.tar.gz |
2.创建pg的用户主、组
[root@test2019030517 postgresql-10.5]# useradd postgres [root@test2019030517 postgresql-10.5]# groupadd postgres [root@test2019030517 postgresql-10.5]# passwd postgres |
3.解压、进入目录
[root@test2019030517 postgresql-10.5]# tar zxvf postgresql-10.5.tar.gz [root@test2019030517 postgresql-10.5]# cd postgresql-10.5 |
4.创建postgreSQL的安装目录
[root@test2019030517 postgresql-10.5]# mkdir /ecapp/postgresql |
5.下载依赖包
[root@test2019030517 postgresql-10.5]# yum -y install -y readline-devel [root@test2019030517 postgresql-10.5]#yum install -y systemtap-sdt-devel.x86_64 yum install perl-ExtUtils-Embed -y yum install zlib zlib-devel -y yum install openssl openssl-devel -y yum install pam pam-devel -y yum install libxml2 libxml2-devel -y yum install libxslt libxslt-devel -y yum install tcl tcl-devel |
6.预编译#-prefix是指定postgreSQL安装路径
[root@test2019030517 postgresql-10.5]# ./configure --prefix=/ecapp/postgresql \ --with-perl --with-tcl --with-python --with-openssl \ |
7.编译安装
[root@test2019030517 postgresql-10.5]# make [root@test2019030517 postgresql-10.5]# make install |
显示这个说明成功
PostgreSQl installation complete |
8.安装contrib目录下的一些工具,是第三方组织的一些工具代码,建议安装
[root@test2019030517 postgresql-10.5]# cd contrib [root@test2019030517 contrib]# make && make install |
9.创建相关目录
♦数据目录 [root@test2019030517 contrib]# mkdir -p /ecapp/postgresql/data ♦日志目录 [root@test2019030517 contrib]# mkdir -p /ecapp/postgresql/logs |
赋予postgres用户相关文件夹权限
chown -R postgres:postgres /ecapp/postgresql |
10.配置环境变量
[root@test2019030517 postgresql-10.5]# cat /etc/profile.d/pgsql.sh export PATH=$PATH:/ecapp/postgresql/bin/ [root@test2019030517 postgresql-10.5]# source /etc/profile.d/pgsql.sh |
11.启动数据库
[root@test2019030517 postgresql-10.5]# su postgres 初始化数据库 [postgres@test2019030517 postgresql-10.5]$ initdb -D /ecapp/postgresql/data/ 启动服务 pg_ctl -D /ecapp/postgresql/data -l /ecapp/postgresql/logs/logfile start 连接数据库 [postgres@test2019030517 postgresql-10.5]$ psql 创建数据库 postgres=# create database test; 创建表 postgres=# create table t_user (id integer, name text); 插入测试数据 postgres=# insert into t_user values (1,'joke'); 查询数据 postgres=# select * from t_user; 退出psql窗口 postgres-# \q |
12.修改监听所有网络以及数据库连接数以及port
$ vim /usr/local/postgresql/data/postgresql.conf 60 listen_addresses = '*' # what IP address(es) to listen on; 65 max_connections = 100 # (change requires restart) 普通用户 |
13.修改远程访问
$ vim /usr/local/postgresql/data/pg_hba.conf #在文件的最下方加上下面的这句话 host all all 0.0.0.0/0 trust |
如下
$ tail -n 6 /usr/local/postgresql/data/pg_hba.conf # replication privilege. local replication all trust host replication all 127.0.0.1/32 trust host replication all ::1/128 trust host all all 0.0.0.0/0 trust 第一列是连接方式,local是通过本地的socket套接字连接,host是通过ip地址连接。 第二列是目标数据库 第三列是用户 第四列是授权ip 第五列是认证方式 认证方式共有11种,最常接触的是peer,ident和password peer:是指postgresql所在操作系统上的用户登录。peer方式简单来说就是当前系统用户和登录到postgresql的用户名相同,就可以登录。 Ident:与peer类似,只不过peer只能在postgresql本地进行登录,ident则是可以跨主机使用。 Password:使用用户(角色)和密码登陆,这里说的角色就是mysql的用户。 |
|
14.防火墙开启端口
# 切换root用户 su - root # 防火墙 允许5432 端口<br>iptables -I INPUT -p tcp --dport 5432 -j ACCEPT |
15.重启postgreSQL服务
[root@test2019030517 postgresql-10.5]# su - postgres $ pg_ctl -D /ecapp/postgresql/data/ -l /ecapp/postgresql/logs/logfile restart |
停止服务命令
$ pg_ctl -D /usr/local//postgresql/data/ -l /usr/local/postgresql/logs/logfile stop |
16.设置开机自启动
切换到root用户 [postgres@test2019030517 ~]$ su root 找到解压后源码包里面的一个linux文件 # chmod a+x /data/postgresql-10.5/contrib/start-scripts/linux 复制linux文件到/etc/init.d目录下,更名为postgresql # cp /data/postgresql-10.5/contrib/start-scripts/linux /etc/init.d/postgresql |
17.修改/etc/init.d/postgresql文件的两个变量
31 # Installation prefix<br>32 prefix=/usr/local/postgresql 33 34 # Data directory 35 PGDATA="/usr/local/postgresql/data" 37 # Who to run the postmaster as, usually "postgres". (NOT "root") 38 PGUSER=postgres
|
18.执行service postgresql start,可以启动PostgreSQL服务
启动 [root@database2019030517 postgresql]# service postgresql start 停止 [root@database2019030517 postgresql]# service postgresql stop 查看状态 [root@database2019030517 postgresql]# service postgresql status |
19.设置postgresql服务开机自启动
[root@test2019030517 postgres]# chkconfig --add postgresql [root@test2019030517 postgres]# chkconfig --level 2345 postgresql on [root@test2019030517 postgres]# chkconfig --list |
20.postgresql在原有参数的基础上进行在编译
pg_config --configure #查看参数 在原有参数基础上加上新的参数进行预编译./configure 在make && make install 做之前在测试环境上运行一遍试一下,编译完重启一下就好了 |