PostgreSQL是加州大学伯克利分校计算机系开发的对象关系型数据库管理系统,目前拥有活跃的开源社区贡献,最近排名也不断前进,pgsql中其实有很多有点和设计理念都要比mysql更好一些,比如稳定性比较强;高并发读写情况下性能依然较好;支持丰富的几何类型并且在GIS领域地位领先;text支持各种长度,无需区分;nosql特性,支持array和json存储和搜索等,因为这些优点,pgsql应用场景也不断扩展,下面详细写一下pgsql入门的第一步,即先将pgsql安装至操作系统,过程如下:
1. 下载软件包
pgsql有很多类型的包,对于不同linux发行版都有对应的编译好的包,安装很方便,另外如果对于通用的linux平台可以编译源码安装或者安装官方编译好的二进制包,源码包的安装仅仅比二进制安装多出一个编译步骤,其余的都一样,所以这里使用安装方式是安装编译好的二进制包
pgsql官网地址:https://www.postgresql.org/,进入后点击download就来到下载页,这里点击Linux下面的Other Linux选项,然后点击下方的tar.gz archive下载二进制归档,
然后就来到最终的pgsql下载页了,地址为:https://www.enterprisedb.com/download-postgresql-binaries,如下图下载最新版本的10.1
如上图根据机器的位数下载对应的包,我这里下载的是x86-64的包,为:postgresql-10.1-1-linux-x64-binaries.tar.gz,下载之后准备安装
2. 安装并初始化
解压数据库并放到指定目录:
tar -xvzf postgresql-10.1-1-linux-x64-binaries.tar.gz# 解压出来之后目录为pgsqlmv pgsql/ /monchickey/
现在pgsql的安装目录就是/monchickey/pgsql
创建pgsql用户并设置密码:
useradd postgrespasswdpostgres# 两次输入密码并确认
注意:这里设置密码是linux用户postgres的登录密码,不是pgsql服务器的密码
创建pgsql数据目录: mkdir/monchickey/pgsql_data
给postgres用户授权目录访问权限: chownpostgres /monchickey/pgsql_data/
然后切换到postgres用户来操作数据库,pgsql数据库就以postgres为默认用户,执行: su- postgres 切换
切换之后建议修改~/.bash_profile将pgsql的bin目录加至环境变量中,方便直接使用pgsql相关命令,下面初始化数据库:
/monchickey/pgsql/bin/initdb -D /monchickey/pgsql_data/
等待执行完毕,没什么问题就初始化成功了,提示如下:
如图根据提示可以启动数据库: /monchickey/pgsql/bin/pg_ctl -D /monchickey/pgsql_data/ -l logfile start 这里-l指定日志文件位置,这里直接输出在家目录下的logfile中,这个可以自己指定,这里-D指定数据目录,默认如果不加数据目录直接报错找不到,可以刚才说的环境变量配置文件中~/.bash_profile加入一行: export PGDATA=/monchickey/pgsql_data 然后source进去即可,这样pgsql会自动去找PGDATA环境变量值,找不到才会报错
启动之后此时执行: ps-ef |greppostgres 就可以看到相关进程如下:
pgsql默认的端口号为5432,通过netstat命令或者lsof命令都可以看到监听情况: