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






