Linux下PostgreSQL 11的安装

本文详细介绍了在Linux环境下安装和配置PostgreSQL数据库的过程,包括创建用户、目录、下载安装软件包、初始化数据库、配置环境变量、修改配置文件、设置主机认证等关键步骤,并提供了测试和使用的基本命令。

一、安装

  • 1、创建用户
groupadd postgres
useradd -g postgres postgres
  • 2、创建目录
mkdir /data
cd /data
mkdir postgres
mkdir tools
  • 3、下载并安装
cd /data/tools
wget http://ftp.postgresql.org/pub/source/v11.6/postgresql-11.6.tar.gz
tar xf postgresql-11.6.tar.gz
cd postgresql-11.6/
./configure --prefix=/data/postgres --without-readline

如不指定安装目录,则默认会安装在/usr/local/下。
如果编译出错,根据提示信息yum安装对应的包即可。
不报错继续即可
也可通过./configure --help可以看到编译相关的帮助信息

make

make过程比较耗时
输出如下信息即可
All of PostgreSQL successfully made. Ready to install.

make install

成功后会输出如下信息:
PostgreSQL installation complete.

  • 4、查看目录结构
cd /data/postgres/
ll

total 16
drwxr-xr-x 2 root root 4096 Apr 10 11:39 bin
drwxr-xr-x 6 root root 4096 Apr 10 11:39 include
drwxr-xr-x 4 root root 4096 Apr 10 11:39 lib
drwxr-xr-x 6 root root 4096 Apr 10 11:39 share
  • 5、配置环境变量及目录权限

(1)配置环境变量

vim /etc/profile

export PGHOME=/data/postgres
export PGDATA=/data/postgres/data
export PGLIB=/data/postgres/lib
export PATH=$PGHOME/bin:$PATH

source /etc/profile

(2)创建目录

mkdir /data/postgres/data
mkdir /data/postgres/logs
chown -R postgres:postgres /data/postgres
  • 6、初始化数据库

切换用户初始化数据库,再启动数据库

su - postgres
initdb -D /data/postgres/data/

输出以下信息即可

Success. You can now start the database server using:

pg_ctl -D /data/postgres/data/ -l logfile start

  • 7、启动数据库
pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile start

输出以下内容,表示启动成功

waiting for server to start.... done
server started

可以查看启动日志 cat logs/logfile
此时可查看data目录,已经生成相应的配置文件及目录。

二、配置

  • 1、修改用户密码

初始化完成后是没有密码的,可直接连接
su postgres 或 psql -U postgres

(1)无密码登录:
psql

psql (11.6)
Type "help" for help.

postgres=#

(2)修改密码:
postgres=# alter user postgres with password 'postgres';

(3)退出
postgres-# \q  

(4)用户名密码方式登录
[postgres@oracle-1 ~]$ psql -U postgres -W
Password: 
psql (11.6)
Type "help" for help.

postgres=# \q
  • 2、修改默认配置文件
cd /data/postgres/data
初始化后基本是默认配置文件,可以自行修改

vim postgresql.conf
配置文件中,默认只能本机访问postgresql;
修改listen_addresses = 'localhost'为listen_addresses = '*',允许所有远程访问;
修改配置文件需要重启服务。

默认监听地址
!#listen_addresses = 'localhost'
listen_addresses = ''
!#默认监听端口
!#port = 5432
!#最大连接数,默认100
max_connections = 100
...

vim /data/postgres/data/pg_hba.conf 

在# IPv4 local connections: 下增加以下内容

host    all             all             0.0.0.0/0               md5

重启数据库
pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile restart

其他可参考中文社区

  • 3、主机认证

修改pg_hba.conf文件需要重启服务
vim pg_hba.conf
!#在第82行之后,”IPv4 local connections”下新增允许的客户端;
!#“host” 代表主机类型,第一个“all”代表db ,第二个“all”代表user ,“172.29.3.67/32” 代表client ip,“trust”代表认证方式;
!#认证方式除“trust”外,还有“peer”, “ident”, “md5”, “password”等

85 # IPv4 local connections:
86 host all all 127.0.0.1/32 trust
87 host all all 172.16.200.162/32 trust

  • 4、相关命令

(1)#查看状态

pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile status

(2)#停止服务

pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile stop

(3)启动服务

pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile start
  • 5,测试

可以用pgadmin连接postgresql
pgadmin下载地址:https://www.pgadmin.org/download/

三、使用

  • 1,简单命令

(1)创建用户

postgres=# create user test with password 'test';

(2)创建数据库
同时指定数据库的所有者

postgres=# create database postdb owner test;

(3)数据库赋权
未赋权则账户只能登录控制台

postgres=# grant all privileges on database postdb to test;

(4)登录数据库
在操作系统层使用新建的账号登录新建的数据库,登录后提示符为“postdb1=>”;
如果在postgres账户下直接使用“postgres=# \c postdb1;”登录,则登录用户依然是postgres,
-bash-4.2$ psql -U postuser1 -d postdb1 -h 127.0.0.1 -p 5432

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

auspicious航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值