Linux下安装PostgreSQL

    1. 下载PostgreSql

下载的是x86-64的包,为:postgresql-10.7-2-linux-x64-binaries.tar.gz,下载之后准备安装

    2. 安装配置

检查PostgreSQL 是否已经安装

rpm -qa | grep postgres    检查PostgreSQL 是否已经安装

rpm -qal | grep postgres   检查PostgreSQL 安装位置

若已经安装,则使用rpm -e 命令卸载

# rpm -e postgresql94-contrib-9.4.4-1PGDG.rhel6.x86_64 postgresql94-server-9.4.4-1PGDG.rhel6.x86_64 

# rpm -e postgresql94-libs-9.4.4-1PGDG.rhel6.x86_64 postgresql94-9.4.4-1PGDG.rhel6.x86_64  

参考链接:

https://www.cnblogs.com/qiyebao/p/4562557.html

 

1) 解压PG

切到opt目录下,创建文件夹postgresql: mkdir postgresql

Linux下安装PostgreSQL

 

通过FTP工具上传安装包到/opt/postgresql目录下

切到/opt/postgresql目录解压PG安装包:

# tar -xvzf postgresql-10.7-2-linux-x64-binaries.tar.gz

解压出来之后目录为pgsql

 

Linux下安装PostgreSQL

2) 创建postgres用户

创建pgsql用户并设置密码(因为root用户启动会报错):

useradd postgres

passwd postgres

# 两次输入密码并确认

为方便切换postgres用户方便,我这里改为无密码切换:

passwd -d postgres

Linux下安装PostgreSQL

 

3) 创建pgsql数据目录

# mkdir  data

Linux下安装PostgreSQL

4) postgres用户设置权限,切换到/opt目录下

给postgres用户授权目录访问权限:chown -R postgres:postgres postgresql/

pgsql数据库就以postgres为默认用户,执行:su postgres

5) 初始化数据库

切到/opt/postgresql目录下初始化数据库:./pgsql/bin/initdb -D data/

Linux下安装PostgreSQL

6) 配置数据库远程访问,

PG默认只能本机访问,但是实际情况中,应用服务器多单独部署,需要开通PG的远程访问权限,且是需要配置用户密码的。需要修改data目录下postgres.conf, pg_hba.conf文件。如果找不到文件在哪,使用 find命令搜索:find / -name postgresql.conf

配置postgresql.conf文件 :# vim  postgresql.conf

主要配置参数详解:

修改listen_addresses='localhost'

为listen_addresses='*'        --- 修改成'*'全部ip都可以访问改数据库

Linux下安装PostgreSQL

 

配置pg_hba.conf文件: #vim pg_hba.conf

末尾添加本行:

host    all             all             0.0.0.0/0               md5

7) 配置环境配置

编辑~/.bash_profile文件

#vim ~/.bash_profile

设置以下的环境变量

export PGHOME=/opt/postgresql/pgsql/bin/psql

export PGDATA=/opt/postgresql/data

 

Linux下安装PostgreSQL

设置环境变量立刻生效

#source ~/.bash_profile

    3. 修改postgres用户密码

切换系统用户为# su postgres,

切换到/opt/postgresql/pgsql/bin目录下,通过./psql -h 172.20.32.210 -U postgres登录Postgres数据库,进入数据后,使用SQL来为用户修改默认密码:

postgres=# alter user postgres with password  ‘postgres’;

示例如下:

# su postgres

# psql -h 172.20.32.210 -U postgres

postgres=#  alter user postgres with password 'postgres';

#ALTER ROLE

   4. 启动PG

启动Postgres数据库

切到/opt/postgresql/pgsql目录下

启动命令:./bin/pg_ctl -D ../data/ -l logfile start

 

停止Postgres数据库:

切到/opt/postgresql/pgsql目录下

停止命令:./bin/pg_ctl -D data/ stop

 

重启Postgres数据库

切到/opt/postgresql/pgsql目录下

重启命令:./bin/pg_ctl -D ../data/ -l logfile restart

 

查看系统中运行的postgres进程:

#ps -ef | grep postgres

   5. 创建用户

切换到/opt/postgresql/pgsql/bin目录下

通过./psql -h 172.20.32.210 -U postgres登录Postgres

比如我创建VIAS新用户,示例如下:

1) 创建数据库新用户VIAS

postgres=#  CREATE USER “VIAS” WITH PASSWORD 'VIAS';

Linux下安装PostgreSQL

 

2) 创建用户数据库,如'VIAS':

postgres=# CREATE DATABASE “VIAS” OWNER “VIAS”;

Linux下安装PostgreSQL

 

3) 授予用户数据库权限

postgres=#  GRANT ALL PRIVILEGES ON DATABASE “VIAS” TO “VIAS”;

Linux下安装PostgreSQL

注意:使用Navicat登录,数据库名和用户名为小写:

Linux下安装PostgreSQL

    6. Postgres日常服务管理

启动数据库:pg_ctl start -D /data/postgres
       重启数据库: pg_ctl restart -D /data/postgres
       停止数据库:pg_ctl stop -D /data/postgres
       强制重启:pg_ctl restart -D /data/postgres -m f
       强制停止:pg_ctl stop -D /data/postgres -m f
       加载配置:pg_ctl reload -D /data/postgres
       显示服务状态:pg_ctl status -D /data/postgres
       连接数据库: psql -h 127.0.0.1 -U postgres -p 5432 -d postgres -W

    7. 常见问题

问题1:psql版本和server版本不一致的解决办法

Linux下安装PostgreSQL

参考链接:https://blog.****.net/pg_hgdb/article/details/80321354

 


编写不易,如果有帮助到您,喜欢点赞!