安装包下载:
Index of /pub/source/v12.2/http://ftp.postgresql.org/pub/source/v12.2/
关闭防火墙:
systemctl stop firewalld 和vi /etc/selinux/config 中修改selinux设置为disabled 或setenforce 0
1.将上传至新建的pgsoft文件夹下:
mkdir /pgsoft
tar -xvf /pgsoft/postgresql-12.0.tar.gz -C /pgsoft
2. 进入解压后生成的目录文件进行编译(./configure是用来检测安装平台的目标特性的,一般用来生成Makefile,为下一步编译做准备。./configure -help查看说明帮助)
cd /pgsoft/postgresql-12.0
./configure --prefix=/pgsoft/pgsql --without-readline
or ./configure --prefix=/pgsoft/pgsql
3. 提示如上信息是缺少包文件,安装相应的包文件文件
yum install gcc(gcc编译器能将C、C++语言源程序和目标程序编译、连接成可执行文件)
yum install ncurses* readline* zlib* -y
rpm -aq ncurses* readline* zlib* (判断安装包是否安装,可省略)
4. 安装完成后重新编译下
./configure --prefix=/pgsoft/pgsql --without-readline
or ./configure --prefix=/pgsoft/pgsql
(文件安装位置在/pgsoft/pgsql)
5. 编译(时间较长,一直等着即可,出现All of PostgreSQL successfully made. Ready to install.即表示成功)
make (编译,从Makefile中读取指令,然后编译)
6. 安装(时间较长,一直等着即可,出现PostgreSQL installation complete.即表示成功)
make install (安装,从Makefile中读取指令,安装到指定位置)
7.安装完成后可以看到在/pgsoft目录上成了postgresql-12.0目录
8.创建用户及设置/pgsoft/postgresql-12.0目录文件属主组
useradd postgres
chown -R postgres:postgres /pgsoft/
9. 创建数据库库文件存储目录、给postgres赋予权限:
mkdir /pgsoft/pgsql/data
chown postgres.postgres /pgsoft/pgsql/data
10.进入刚创建的postgres用户
su postgres
11.初始化数据库;
/pgsoft/pgsql/bin/initdb -D /pgsoft/pgsql/data/
12.启动数据库:
/pgsoft/pgsql/bin/postmaster -D /pgsoft/pgsql/data/
13. 启动服务:
/pgsoft/pgsql/bin/pg_ctl start -D /pgsoft/pgsql/data/
重启服务:
/pgsoft/pgsql/bin/pg_ctl restart -D /pgsoft/pgsql/data/
14. 创建数据库:
/pgsoft/pgsql/bin/createdb mydbtext
15. 先进入默认的postgres数据库
/pgsoft/pgsql/bin/psql
16. 创建pg用户:
create user user_text with password 'Lunz2017';
pg封装的命令方式:
./createuser -P user_text
(使用\q退出postgres数据库)
17.以名为user_text的角色登录名为mydbtext的数据库
/pgsoft/pgsql/bin/psql mydbtext -U user_text
18远程访问数据库设置,修改配置文件postgresql.conf
vi /pgsoft/pgsql/data/postgresql.conf
添加listen_addresses ='*' 或者直接将#listen_addresses = 'localhost'修改为listen_addresses ='*' #全IP监听
19.修改配置文件pg_hba.confvi /pgsoft/pgsql/data/pg_hba.conf
# 这是在pg_hba.conf文件里加
(可以设置所有网段IP可以访问)
# IPv4 remote address connections:
host all all 0.0.0.0/0 trust
(可以设置仅主机IP可以访问,此IP通过ip addr 获得)
# IPv4 remote address connections:
host all all 10.11.4.20/24 trust
20. 进入postgres用户,重启服务:
su postgres
/pgsoft/pgsql/bin/pg_ctl restart -D /pgsoft/pgsql/data/