12.CentOS7下PostgreSQL安装过程

CentOS7下Postgresql安装过程

装包

sudo yum install postgresql-server postgresql-contrib

说明:

  • 这种方式直接明了,其他方法也可以参考官网的安装介绍。centos是红帽系的。
  • postgresql主要有以下几个包:
    • postgresql-client:libraries and client binaries
    • postgresql-server:core database server
    • postgresql-contrib:additional supplied modules
    • postgresql-devel:libraries and headers for C language development
    • pgadmin3:pgAdmin III graphical administration utility
  • 作为服务器,只用装postgresql-server和postgresql-contrib

初始化

sudo postgresql-setup initdb

说明:

  • 根据红帽系的策略,Postgresql安装完成后,相应的服务不会自动启动,数据库也不会自动初始化,初始化操作需要手动进行。

修改pg_hba.conf

sudo vim /var/lib/pgsql/data/pg_hba.conf

插入一行:host all all 0.0.0.0/0 md5

说明:

  • 配置文件目录可能带版本号,比如pgsql/9.5/data这种,自己找一下。
  • hba means host-based authentication
  • 默认情况下,Postgresql不允许password authentication,不允许非localhost的主机,不允许远程登录。(所谓默认情况就是Postgresql刚装好时候conf文件里写的情况。)
  • 插入的那一行,格式为CONNECTIONTYPE DATABASE USER ADDRESS METHDO
  • 字段含义、各字段可选值、配置方式直接参考conf文件的注释。
  • 提一句,ADDRESS那里自己配一下,不要太放开了,md5即用密码认证身份登录

修改postgresql.conf

sudo vim /var/lib/pgsql/data/postgresql.conf

改一行:listen_addresses = '*'

说明:

  • postgresql.conf文件中涉及诸如:最大连接数、监听地址,监听端口、日志、内存、硬盘等等各种设置。文件注释详细,自己按需修改,用不到的先不做了解。
  • 监听地址原值为localhost,这时只能本机访问,改成*或0.0.0.0或逗号分隔字符串都行。
  • 很多值是change requires restart,需要重启postgresql-9.5服务(要带版本号)。

重启postgresql服务

systemctl restart postgresql-9.5.service

或者sudo service postgresql-9.5 restart

说明:

  • 重启服务使之前修改的配置生效。

注意事项

  • 安装目录/var/lib/pgsql及目录下文件文件夹的可读、可写、可操作统统只开放给用户postgres
  • 文件不能操作时,请sudo su - postgres切换到postgres用户进行操作,千万不要改动默认的文件权限,否则会导致postgresql服务无法启动。
  • 在终端输入psql命令时,常常会遇到下面这个错。这个错有两个解决方式:
    • 重启postgresql服务。
    • 删掉/usr/local/var/postgres/postmaster.pid文件

      psql: could not connect to server: No such file or directory
          Is the server running locally and accepting
          connections on Unix domain socket "/tmp/.s.PGsql.5432"?

  • postgres的默认密码为空,上面弄好以后记得改密码。
    • sudo su - postgres
    • psql
    • ALTER USER postgres PASSWORD '123456';

相关文章

有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安...
首先参照https://www.cnblogs.com/wdw984/p/13330074.html,来进行如何安装Centos和离线下载rpm包。 离...
有两个.NET CORE3.1网站部署在CentOS7上(内网IP是192.168.2.32),现在想实现访问http://192.168.2.32...
1、yum -y install vsftpd 安装vsftpd 2、配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以...
首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) Mysql...
第一步下载erlang环境并安装: wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_...