CentOS7安装PostgreSQL数据库

本文详细介绍了在CentOS7上安装PostgreSQL 10.11的完整过程,包括下载、解压、安装依赖、创建用户、初始化数据库、设置密码以及配置防火墙和端口,最后还提供了PostgreSQL常用命令和CentOS7防火墙相关操作。

CentOS7安装PostgreSQL数据库

PostgreSQL数据库 下载地址:https://www.postgresql.org/ftp/source

我用的是PostgreSQL 10.11

1、拷贝安装包至任意目录,例如:/install-package,并进入该目录:
2、使用gunzip 命令解开 .gz 压缩,得到 .tar 文件
     # gunzip postgresql-10.11.tar.gz
3、使用 tar 命令解开 .tar 文件,解压后是一个目录。
     # tar -xvf postgresql-10.11.tar 
     //tips:也可以直接使用命令解开 .tar.gz 为后缀的文件:# tar -xzvf postgresql-10.3.tar.gz 
4、安装依赖:# yum -y install gcc-c++
5、安装依赖:# yum install zlib-devel     如有询问输入y确认
6、# su -
7、安装依赖:# yum -y install readline-devel
8、进入解压目录:# cd /install-package/postgresql-10.11
9、执行命令:# ./configure
10、执行命令:# make
11、# su 
12、执行命令:# make install
13、建立一个系统用户 postgres:
       # adduser postgres
14、建立一个存储数据的目录:
       # mkdir /usr/local/pgsql/data
15、将目录的分配给 postgres 用户:
      #  chown postgres /usr/local/pgsql/data
      #  chown -R postgres:postgres /usr/local/pgsql
16、添加启动服务:
      #  cp /install-Package/postgresql-10.11/contrib/start-scripts/linux /etc/init.d/postgresql 
17、启动服务的脚本须是可执行程序,用chmod 修改:
      #  chmod a+x /etc/init.d/postgresql
18、# vi /etc/init.d/postgresql
          :q
       在环境变量下添加 postgresql 的 bin 目录:
       # vi /etc/profile
          export PATH USER 下添加:
          export PATH=/usr/local/pgsql/bin:$PATH
          :wq

19、初始化数据库,切换用户到 postgres:
       # su - postgres
       初始化数据库,支持 unicode (多语种字符):
      #  initdb -E UNICODE -D /usr/local/pgsql/data

20、切换root用户:
       # su - 
       启动数据库:
       # /etc/init.d/postgresql start

21、切换用户到 postgres 
       # su - postgres
       psql 进入数据库系统;\l 查看数据库; \q退出数据库
       修改数据库账号postgres的密码:# ALTER USER postgres WITH PASSWORD 'eplugger231';

22、如果在本地虚拟机安装,Navicat连不上,注意修改一下配置:

       # 开放5432端口:# firewall-cmd --add-port=5432/tcp --permanent
       # 配置立即生效:# firewall-cmd --reload   

      修改postgresql.conf文件
      # find / -name postgresql.conf
      将listen_addresses的值改为:'*'    即: listen_addresses='*'

      # 修改pg_hba.conf 文件
      # find / -name pg_hba.conf
      # 在 IPv4 local connections 区域中添加如下一行 :
      host    all             all             0.0.0.0/0            password

附录:
postgresql命令:
  列出系统中的数据库     \l
  创建数据库                   create database aa;

\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息

CentOS7防火墙及端口相关操作:
1、开放端口
firewall-cmd --zone=public --add-port=5432/tcp --permanent   # 开放5432端口
firewall-cmd --add-port=5432/tcp --permanent   # 开放5432端口

firewall-cmd --zone=public --remove-port=5432/tcp --permanent  #关闭5432端口
firewall-cmd --reload   # 配置立即生效

2、查看防火墙所有开放的端口:firewall-cmd --zone=public --list-ports
查看某个端口开放:firewall-cmd --query-port=5432/tcp

3.、关闭防火墙:systemctl stop firewalld
开启:systemctl start firewalld

4、查看防火墙状态
 firewall-cmd --state
 systemctl status firewalld

5、查看监听的端口
netstat -lnpt
PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools

6、检查端口被哪个进程占用:netstat -lnpt |grep 5672
7、查看进程的详细信息:ps 6832
8、中止进程:kill -9 6832

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值