Linux(CentOS)下Postgresql数据库的安装配置

1. 验证本机是否已经安装:

[root@master ~]# rpm -qa | grep postgresql

2. yum方式加-y参数安装(-y默认需要选择的全部选择是)

[root@master ~]# yum -y install postgresql*

3.初始化数据库

[root@master ~]# /etc/rc.d/init.d/postgresql initdb

Initializing database: [ OK ]

4. 启动postgresql数据库

[root@master ~]# /etc/rc.d/init.d/postgresql start
Starting postgresql service: [ OK ]

5. 查看默认postgresql数据库的默认端口是否正常启动

[root@master ~]# ps -ef |grep 5432
postgres 14517 1 0 00:21 ? 00:00:00 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/data

6. 对postgres数据库账号修改密码

执行ln建立软链接,否则可能会报下面的错误

[root@master ~]# psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
[root@master ~]# sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432
[root@master ~]# su postgres
bash-4.1$ psql
psql (8.4.20)
Type "help" for help.
postgres=# ALTER USER postgres WITH PASSWORD 'postgres';

7. 修改pg_hba.conf配置文件中的认证方式为md5(最后几行对应ident改为md5)

[root@master ~]# vi /var/lib/pgsql/data/pg_hba.conf 
# /var/lib/pgsql/data是RedHat或CentOS下默认安装目录

8. 重启postgres数据库服务,重新加载配置文件信息

[root@master ~]# /etc/rc.d/init.d/postgresql restart
Stopping postgresql service: [ OK ]
Starting postgresql service: [ OK ]
[root@master ~]# psql -U postgres
Password for user postgres: 
psql (8.4.20)
Type "help" for help.
postgres=#

9. 创建测试数据库并查看所有数据库信息

postgres=# create database pg_test_db;
CREATE DATABASE
postgres=# select *from pg_database;

10. 打开扩展显示,类似mysql里面的\G参数,使返回结果竖着显示

postgres=# \x
Expanded display is on.

--ps auxw | grep post

11. 修改postgresql.conf和pg_hba.conf配置参数

listen_addresses 
  • 数据库名与用户名注意大小写,PostgreSQL是区分大小的;
  • CIDR-ADDRESS(用户的IP范围)的值的格式是:IP/数值
    数值取值范围为:0,8,16,24,32 即表示掩码bit的个数;

例如:

  • 32 -> 192.168.1.1/32 表示必须是来自这个IP地址的访问才合法;
  • 24 -> 192.168.1.0/24 表示只要来自192.168.1.0 ~ 192.168.1.255的都合法;
  • 16 -> 192.168.0.0/16 表示只要来自192.168.0.0 ~ 192.168.255.255的都合法;
  • 8 -> 192.0.0.0/16 表示只要来自192.0.0.0 ~ 192.255.255.255的都合法;
  • 0 -> 0.0.0.0/0 表示全部IP地址都合法,/左边的IP地址随便了只要是合法的IP地址即可;

12. 内存参数的设置

PostgreSQL安装完毕后,可以修改一下两个主要的内存参数。

  • shared_buffers:共享内存的大小,主要用于共享数据块
  • work_men:单个SQL执行时,排序、hash join所使用的内存,SQL运行完后,内存就释放了。
  • shared_buffers默认值为32MB,work_men为1MB,如果你的机器上有足够的内存,可以把这个参数改得大一些,这样数据库就可以缓存更多的数据块,当读取数据时,就可以从共享内存中读,而不需要再从文件上去读取。
  • work_men设置大一些,会让排序操作更快一些。
标签:PostgreSQLCentosLinux 发布于:2019-11-10 23:29:48