本文没啥技术含量,仅作记录
环境
CentOS 7 x64
PostgreSQL 9.2
二进制安装
因为安装过程涉及到新建用户等操作,所以这里使用root用户(或sudo)来进行准备工作。
建立OS用户
useradd postgres
复制代码
解压二进制包
二进制安装包的下载地址 https://www.enterprisedb.com/download-postgresql-binaries
#### 指定安装到/opt目录下
tar xvf postgresql-9.2.24-1-linux-x64-binaries.tar -C /opt
复制代码
设置目录权限
mkdir -p /opt/pgsql/data
mkdir -p /opt/pgsql/log
chown -R postgres.postgres /opt/pgsql
复制代码
初始化数据库
后续的设置使用前面新建的postgres用户操作
环境变量
su - postgres
#### 修改环境变量
vi ~/.bash_profile
# 增加如下内容
export PG_HOME=/opt/pgsql
export PGDATA=${PG_HOME}/data
export PATH=${PG_HOME}/bin:$PATH
#### 重新载入环境变量
source ~/.bash_profile
复制代码
初始化数据库
#### 使用默认地址/opt/pgsql/data初始化
${PG_HOME}/bin/initdb -E utf8
#### 设置监听IP和Port
vi ${PGDATA}/postgresql.conf
# 设置监听所有IP(这是一个非常宽松的限制,生产环境慎用)
listen_addresses = '*'
port = 5432
#### 设置数据库白名单
vi ${PGDATA}/pg_hba.conf
# 增加如下一条记录,允许用户密码模式(这是一个非常宽松的限制,生产环境慎用)
host all all 0.0.0.0/0 md5
复制代码
启动停止命令
#### 启动
${PG_HOME}/bin/pg_ctl start
#### 停止
${PG_HOME}/bin/pg_ctl stop
#### 重新载入配置文件(不需要重启)
${PG_HOME}/bin/pg_ctl reload
复制代码
访问数据库
命令行连接
# 使用postgres用户作为超级用户登录
psql -U postgres -d postgres
复制代码
新建DB和USER
# 新建一个测试用用户
create user demo with password 'demo';
# 新建一个测试用DB并分配给指定用户
create database demo with encoding='utf8' owner=demo;
# 修改用户密码
alter user demo password 'xxx';
复制代码