1.建立OS用户
useradd postgres
2.解压二进制包
版本自己选择
二进制安装包的下载地址 https://www.enterprisedb.com/download-postgresql-binaries
#### 指定安装到/opt目录下
tar xvf postgresql-10.2.22-1-linux-x64-binaries.tar -C /mnt
3.设置目录权限
mkdir -p /mnt/pgsql/data
mkdir -p /mnt/pgsql/log
chown -R postgres.postgres /mnt/pgsql
后续的设置使用前面新建的postgres用户操作
su - postgres
5.环境变量
vim ~/.bash_profile
# 增加如下内容
export PG_HOME=/mnt/pgsql
export PGDATA=${PG_HOME}/data
export PATH=${PG_HOME}/bin:$PATH
#### 重新载入环境变量
source ~/.bash_profile
6.初始化数据库
#### 使用默认地址/mnt/pgsql/data初始化
${PG_HOME}/bin/initdb -E utf8
#### 设置监听IP和Port
vim ${PGDATA}/postgresql.conf
# 设置监听所有IP(这是一个非常宽松的限制,生产环境慎用)
listen_addresses = '*'
port = 5432
#listen_addresses = '192.168.0.0/24'
#### 设置数据库白名单
vi ${PGDATA}/pg_hba.conf
# 增加如下一条记录,允许用户密码模式(这是一个非常宽松的限制,生产环境慎用)
host all all 0.0.0.0/0 md5
7.启动停止命令
${PG_HOME}/bin/pg_ctl start
#### 停止
${PG_HOME}/bin/pg_ctl stop
#### 重新载入配置文件(不需要重启)
${PG_HOME}/bin/pg_ctl reload
8.命令行连接
# 使用postgres用户作为超级用户登录
psql -U postgres -d postgres
9.新建DB和USER
# 新建一个测试用用户
create user demo with password 'demo';
# 新建一个测试用DB并分配给指定用户
create database demo with encoding='utf8' owner=demo;
# 修改用户密码
alter user demo password 'xxx';
10.远程连接
psql -h <服务器IP或域名> -U <用户名> -d <数据库名> -p <端口号>
这里是具体的参数解释:
-h 用于指定服务器的IP地址或域名。
-U 用于指定数据库用户。
-d 用于指定要连接的数据库名。
-p 用于指定服务器上PostgreSQL监听的端口号