PostgreSQL数据库安装,基于版本10.5安装,
在Linux系统上使用*.gz二进制压缩包手动安装。
操作系统:Red Hat Enterprise Linux Server release 6.5 (Santiago)
安装包: postgresql-10.5-1-linux-x64-binaries.tar.gz
1.说明
网上有很多在线安装PostgreSQL的文章,
在线安装使用yum或者apt-get非常简单,
可以参考如下文章:
第 4 课 PostgreSQL 安装最新的版本
postgreSQL安装与使用
本文使用PostgreSQL的二进制压缩包离线安装,
安装步骤其实也非常简单,而且卸载也很方便。
2.创建postgres用户
登陆到root用户创建新用户postgres。
2.1.新增hadoop用户组
groupadd hadoop
2.2.新增postgres用户
useradd -g hadoop -s /bin/bash -md /home/postgres postgres
2.3.修改postgres用户密码
passwd postgres
2.4.验证新增的用户
ssh postgres@10.43.159.9
使用步骤2.3中设置的密码登陆,
注意后续的所有操作都在该用户下执行,
而不是root用户。
3.下载安装包
可以从如下地址下载需要的安装包,
按照自己的操作系统和版本要求选择下载。
PostgreSQL官网下载
PostgreSQL Download
PostgreSQL中文社区下载
4.上传并解压安装包
上传安装包到postgres的家目录:
/home/postgres/postgresql-10.5-1-linux-x64-binaries.tar.gz
解压安装包:
tar -zxvf postgresql-10.5-1-linux-x64-binaries.tar.gz
5.创建数据和日志目录
进入安装包解压后的目录:
cd /home/postgres/pgsql
创建数据data目录:
mkdir data
创建日志log目录:
mkdir log
6.设置环境变量
vim .bashrc
export PGHOME=/home/postgres/pgsql
export PGDATA=$PGHOME/data
export PGLOG=$PGHOME/log
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE=`date +"%Y-%m-%d %H:%M:%S"`
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
刷新环境变量:
source .bashrc
7.初始化数据库
bin/initdb -D $PGDATA
8.修改配置文件
8.1.修改PostgresSQL数据库配置
vim $PGDATA/postgresql.conf
修改为如下:
listen_addresses = '*'
port = 5432
说明:PostgreSQL安装完成后,默认是只接受来自本机localhost的连接请求,
listen_addresses设置为*来允许数据库服务器监听来自任何主机的连接请求,
并且对外提供的服务端口是5432(默认端口)。
8.2.设置远程连接
修改服务端对客户端的认证配置文件pg_hba.conf,
将需要访问数据库的远程IP地址或地址范围加入该文件:
vim $PGDATA/pg_hba.conf
在文件最下方添加如下配置:
host all all 0.0.0.0/0 trust
说明:上面的配置允许任意IP和用户访问该数据库,
建议仅用作测试时使用,在公网需要考虑安全问题。
9.启动数据库
pg_ctl -D $PGDATA -l $PGLOG/logfile start
注意必须使用postgres用户启动,
因为PostgresSQL不能以root身份运行,
要以其他用户身份运行。
停止数据库:
pg_ctl -D $PGDATA stop
查看数据库状态:
pg_ctl status
10.测试数据库
登陆PostgresSQL命令行:
psql
创建测试数据库:
create database test;
查看数据库列表:
\l
切换到test数据库:
\c test
退出命令行:
\q
设置用户密码:
alter user postgres with password 'zdh1234'
使用指定用户和端口登陆:
psql -U postgres -W -p 5432
11.图形化界面登陆数据库
使用PostgresSQL自带的pgAdmin进行远程连接。
可以打开pgAdmin4的图形化界面。
登陆Linux服务器后执行如下脚本:
/home/postgres/pgsql/pgAdmin 4/bin/pgAdmin4
具体方法请参考:
MobaXterm远程连接Linux图形用户界面
Xstart远程连接Linux图形用户界面
脚本执行成功后,会打开远程的firefox浏览器,
选择创建服务器,填写服务器信息:
然后就能够看到如下数据库信息:
12.参考文章
Linux系统二进制安装PostgreSQL
PostgreSQL 二进制安装步骤
13.日志
13.1.初始化数据库日志
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /home/postgres/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
bin/pg_ctl -D /home/postgres/pgsql/data -l logfile start
13.2.logfile启动日志
2019-01-29 15:27:44.809 CST [13987] LOG: listening on IPv4 address "0.0.0.0", port 5432
2019-01-29 15:27:44.809 CST [13987] LOG: listening on IPv6 address "::", port 5432
2019-01-29 15:27:44.811 CST [13987] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
2019-01-29 15:27:44.827 CST [13988] LOG: database system was shut down at 2019-01-29 15:27:07 CST
2019-01-29 15:27:44.845 CST [13987] LOG: database system is ready to accept connections
14.其他
14.1.设置特定IP远程连接
如果出于安全考虑,可以配置为具体的IP,
修改pg_hba.conf文件示例如下:
host all all 127.0.0.1/32 trust
host all username 192.168.1.0/24 md5
其中数字24是子网掩码,
表示允许192.168.1.0-192.168.1.255的IP访问,
允许通过username用户,md5使用密码访问。