一、postgres简介
PostgreSQL是一个开源的、免费的、对象关系型数据库管理系统(ORDBMS),由PostgreSQL全球开发集团(全球志愿者团队)开发, 它不受任何公司或其他私人实体控制。
PostgreSQL的官方网站是:https://www.postgresql.org/
postgres中文手册:http://www.postgres.cn/docs/10/
二、postgres下载
登录https://www.postgresql.org/ftp/source/v10.3/,下载postgresql-10.3.tar.gz
三、安装postgres
安装路径:/home/postgres,将安装包上传到/home/postgres目录下。依次执行以下安装命令:
# 进入安装目录
cd /home/postgres/
# 解压安装包
gunzip postgresql-10.3.tar.gz
tar xf postgresql-10.3.tar
# 查看当前环境是否支持
cd postgresql-10.3
./configure
若出现以下信息,则需安装readline
# 安装readline
sudo apt-get install libreadline-dev
# 再次确认环境是否支持
./configure
若出现以下信息,则需安装zlib
# 安装zlib
sudo apt-get install zlib1g
sudo apt-get install zlib1g.dev
可以再次执行./configure确认安装环境!
# 执行make
cd home/postgres/postgresql-10.3
make
若出现以下提示信息,则继续执行make install安装
# 执行make install 安装postgres
cd /home/postgres/postgresql-10.3
make install
安装成功后提示信息如下:
四、创建用户并设置密码
# 创建用户postgres
adduser postgres
# 创建数据文件目录
cd /home/postgres/postgresql-10.3
mkdir data
chown postgres /home/postgres/postgresql-10.3/data/
# 注意:以下命令需要在postgres用户下执行
su - postgres
/usr/local/pgsql/bin/initdb -D /home/postgres/postgresql-10.3/data
执行完成后提示信息如下:
# 将postgres添加到环境变量中
su - root # 需要root用户权限
vim ~/.bash_profile
#添加以下内容
#postgres
PGDATA=/home/postgres/postgresql-10.3/data
PATH=/home/postgres/postgresql-10.3/src/bin:$PATH
export PGDATA PATH
# 启动数据库
su postgre #切换用户
/usr/local/pgsql/bin/pg_ctl start -D /home/postgres/postgresql-10.3/data
数据库启动成功后将看到如下提示信息:
# 重启数据库:
/usr/local/pgsql/bin/pg_ctl restart -D /home/postgres/postgresql-10.3/data
# 关闭数据库:
/usr/local/pgsql/bin/pg_ctl stop -D /home/postgres/postgresql-10.3/data
五、创建数据库
# 创建数据库test
su - postgres
cd /usr/local/pgsql/bin
./createdb test
# 访问数据库,退出 ctrl + d
./psql
访问数据库后也可以用sql命令来新建用户:
create user dbuser with password 'xxx';
六、开启远程访问数据库
需设置两个配置文件
1)修改配置文件postgresql.conf
vim /home/postgres/postgresql-10.3/data/postgresql.conf
修改监听地址:
#listen_addresses='localhost'
#将上面这行改成如下
listen_addresses='*'
listen_address 和 port 默认是被注释的,均要取消注释。
2)修改配置文件/pgsql/data/pg_hba.conf:
vim /home/postgres/postgresql-10.3/data/pg_hba.conf
添加一条IP授权记录,可以对一个网段授权
# IPv4 myhost connections:
host all all 0.0.0.0/0 trust
修改完成后重启数据库即可
附:我是租用的阿里云服务器,在阿里云服务器上也需要设置一下出入端口(postgresql默认端口为5432)
七、远程访问测试