PostgreSQL安装详细步骤(linux)
PostgreSQL安装详细步骤(linux)
官方安装文档:http://www.postgresql.org/download/linux/redhat/
1. 检查PostgreSQL 是否已经安装
Linux-软件包管理-rpm命令管理-查询
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 卸载
可以使用rpm -qa | grep postgres再次查看是否还有Postgres安装文件,没有卸载完成。
2.使用yum库设置安装postgresql94版本,最好先创建用户组和用户:
(1)新增postgres用户组:
groupadd postgres
(2)新增postgres用户并且设置这个用户属于上面创建的postgres用户组:
useradd -g postgres postgres
(3)修改postgres用户密码:passwd postgres(这里设置密码为postgres)
passwd postgres –修改postgres用户密码
yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm 使用yum库
3.安装postgresql94
yum search postgresql //也可以先找一下,server版会有多个,决定选择装哪个
yum -y install postgresql94-server postgresql94-contrib //安装postgresql94
注意:如果出现错误,首先停止服务查看服务名称chkconfig –list找到postgresql的服务名,注意服务名可能会带有版本号,service 服务名 stop,然后使用rpm -e卸载命令,然后在执行上面的安装就可以了
安装成功
可以使用rpm -qal|grep postgres这个命令查看安装文件的位置,注意默认的postgresql配置文件的位置和名称(带有版本号)
查看/etc/rc.d/init.d/postgresql-9.4文件中的PGDATA信息,并显示行号。
cat /etc/rc.d/init.d/postgresql-9.4 | grep -n PGDATA -n显示行号
上图说明默认数据库文件的安装位置是在:/var/lib/pgsql/9.4/data,如果需要改变数据库文件的存放位置可以修改这里,下面会介绍如何修改默认数据库文件的存放位置。先看看这个目录里面有没有数据库的文件:
ls -la /var/lib/pgsql/9.4/data 查看这个目录里面的内容
上图说明postgresql安装完成之后,默认数据库文件存放所使用的目录是空的。
下面的内容比较重要,介绍postgresql数据库如何安装:
一、如何更改默认数据库安装位置,安装postgresql数据库:
1、删除postgres用户和他的文件信息(如果之前安装过)
userdel -r postgres
2、删除postgres用户组(如果之前安装过)
groupdel postgres
(1)新增postgres用户组:
groupadd postgres
(2)新增postgres用户并且设置这个用户属于上面创建的postgres用户组:
useradd -g postgres postgres
(3)修改postgres用户密码:passwd postgres(这里设置密码为postgres)
passwd postgres –修改postgres用户密码
创建数据库文件存放的目录:/mnt/pgsql/data
mkdir -p /mnt/pgsql/data 递归方式创建pgsql/data目录
默认刚建立的目录/mnt/pgsql和/mnt/pgsql/data的所有者和所有组都是root,需要修改为postgres用户和用户组。
chown -R postgres:postgres /mnt/pgsql
ll /mnt
chown -R postgres:postgres /mnt/pgsql/data
ll /mnt/pgsql
查看是否已经更改为postgres用户和用户组了。
接下来就是要修改默认数据库文件存放路径了:
修改postgresql数据库的配置文件(/etc/rc.d/init.d/postgresql-9.4)中的PGDATA和PGLOG改成我们自己创建的目录:/mnt/pgsql:
PGDATA=**/mnt/pgsql/*data
PGLOG=*/mnt/pgsql/**pgstartup.log
保存之后,继续查询initdb文件的存放位置:
find / -name initdb 查找initdb 的安装位置
指定数据库存放位置和编码方式,初始化数据库:
/usr/pgsql-9.4/bin/initdb -E UNICODE -D /mnt/pgsql/data
注意: 出现上面的错误说明Postgresql不能以root身份初始化,要以postgres用户的身份运行,所以上面要创建linux用户postgres和组postgres。
切换postgres用户执行初始化数据库操作
su - postgres 切换用户
/usr/pgsql-9.4/bin/initdb -E UNICODE -D /mnt/pgsql/data –初始化数据库
cd /mnt/pgsql/data 切换目录
ll 查询初始化数据库成功之后的目录内容
编辑postgresql.conf文件,修改数据库默认接收的监听地址与端口参数:
cat postgresql.conf | grep -n listen_addresses 查找listen_addresses在postgresql.conf文件中的位置并显示行号
vi postgresql.conf 编辑postgresql.conf文件
查询listen_addresses的值:
修改前listen_addresses的值:
去掉59行的注释,将listen_addresses = ‘localhost’ 改成 listen_addresses = ‘*’,下图是修改后listen_addresses的值:
接下来继续修改pg_hba.conf文件,告诉数据库服务器它将允许什么样的客户端连接到自己:
vi pg_hba.conf –修改postgresql服务连接文件
修改前的源文件:
在86行下面增加一行,表示允许任何一个客户端使用正确的用户名和密码访问自己:
host all all 0.0.0.0/0 trust
# TYPE DATABASE USER ADDRESS METHOD
# “local” is for Unix domain socket connections only
local all all trust或peer
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 password
# IPv6 local connections:
host all all ::1/128 password
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident
备注:设置 trust,本地可以使用psql -U postgres直接登录服务器;设置 peer,本地可以使用psql -h 127.0.0.1 -d postgres -U postgres直接登录服务器;
exit –返回root用户
chkconfig –list 查看所有服务并找到postgre的服务名称
默认postgresql-9.4不是自启动的,我们需要设置postgresql-9.4服务为自启动服务:
chkconfig postgresql-9.4 on 设置服务自启动
chkconfig –list
service postgresql-9.4 status 查看服务状态
service postgresql-9.4 start 启动postgresql-9.4服务
有三种方式可以查看postgresql运行是否运行
ps -ef | grep postgres 查postgres的进程信息
netstat -tpnl | grep 5432 查postgres的端口号5432是否已经打开
service postgresql-9.4 status 查看服务状态
开始连接postgresql数据库:
psql -U postgres //连接pgsql server
psql -h 127.0.0.1 -d postgres -U postgres //连接pgsql server
看到上图表示连接数据库成功了。
修改配置文件pg_hba.conf
之后,登录数据库重新刷新更新后的配置命令:
select pg_reload_conf();
show data_directory;
为数据库默认的登陆名postgres(等同于SQLServer里面的sa)设置登陆数据库的密码:
ALTER USER postgres WITH PASSWORD ‘1234’; //添加密码
select * from pg_shadow;
\q回车 退出登录
设置防火墙
iptables -I INPUT -p tcp –dport 22 -j ACCEPT
iptables -I INPUT -p tcp –dport 5432 -j ACCEPT
service iptables save
service iptables restart
cat /etc/sysconfig/iptables
二、采用默认的方式安装postgresql数据库文件:
直接执行下面的命令,都不需要创建linux用户:
service postgresql-9.4 initdb
如果启动过程中报错了,例如:Data directory is not empty![失败],估计是卸载出了问题,删除/var/lib/pgsql目录下面所有文件,使用rpm -e 命令卸载重新安装.
cd /var/lib/pgsql/data
cd /var/lib/pgsql
cd /var/lib
rm -rf /var/lib/pgsql
ll /var/lib
rpm -e postgresql94-contrib-9.4.3-1PGDG.rhel6.x86_64 postgresql94-server-9.4.3-1PGDG.rhel6.x86_64 postgresql94-9.4.3-1PGDG.rhel6.x86_64 postgresql94-libs-9.4.3-1PGDG.rhel6.x86_64 卸载
yum -y install postgresql94-server postgresql94-contrib 安装
service postgresql-9.4 initdb 初始化数据库
设置开机启动postgresql
chkconfig postgresql-9.4 on
查看postgresql运行是否运行
ps -ef | grep postgres 查postgres的进程信息
netstat -tpnl |grep 5432 查postgres的端口号5432是否已经打开
service postgresql-9.4 status 查看服务状态
用postgres用户登录,并改密码
su postgres //切换用户
如果出现下面的错误,需要重新运行postgresql的服务,若想psql能直接登陆,再重启一下DB,socket文件会随着服务器的启动而生成。
ps -ef | grep postgre 查postgre进程
kill -9 31308 service postgresql-9.4 status
service postgresql-9.4 stop
service postgresql-9.4 start
su postgres //切换用户
psql -U postgres //连接pgsql server
ALTER USER postgres WITH PASSWORD ‘1234’; //添加密码
select * from pg_shadow;
\q 退出
如果出现下面这个错误
需要继续创建文件
touch /home/postgres/.psql_history 创建这个文件
chmod -R g+w /home/postgres 提升postgres这个目录的权限
chmod a+w /home/postgres/.psql_history 提升.psql_history这个文件的权限
修改/var/lib/pgsql/9.4/data/postgresql.conf(这个文件是默认的安装位置)
vi /var/lib/pgsql/9.4/data/postgresql.conf 修改postgresql的配置文件
去掉59行的注释,将listen_addresses = ‘localhost’ 改成 listen_addresses = ‘*’
修改/var/lib/pgsql/9.4/data/pg_hba.conf(这个文件是默认的安装位置)
vi /var/lib/pgsql/9.4/data/pg_hba.conf 修改postgresql服务连接文件
第80行:peer改称md5,本地就可以连接自己了。
在82行下面增加一行
host all all 192.168.6.0/24 md5 允许192.168.0.0网段连接
host all all 0.0.0.0/0 md5 允许所有IP连接
关闭防火墙
service iptables stop
重启postgresql的服务
service postgresql-9.4 restart
三、使用客户端工具就可以连接成功了!
Navicat for PostgreSQL
pgAdmin III
转自:http://www.postgresql.org/download/linux/redhat/
http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html
http://blog.51yip.com/pgsql/1520.html
四、备份脚本
pgsql_data_backup.sh
分类: linux, PostgreSQL
标签: 安装, linux, PostgreSQL
+加关注
« 上一篇: PostgreSQL安装详细步骤(windows)[转]
» 下一篇: MongoDB基本管理命令 [转]
posted @ 2015-06-09 09:24 —八戒— 阅读(110263) 评论(1) 编辑 收藏 举报
登录后才能查看或发表评论,立即 登录 或者 逛逛 博客园首页
编辑推荐:
· 编程为什么那么难
· 【大话云原生】煮饺子与docker、kubernetes之间的关系
· C#语法糖系列第一篇:聊聊 params 参数底层玩法
· AOT和单文件发布对程序性能的影响
· 理解 ASP.NET Core - 授权(Authorization)
最新新闻:
· 发不了工资、还不了贷款——疫情下被U盾“卡住”的企业
· 官方回应“斗鱼虎牙被曝裁员30%”:不予置评;只是人员优化调整
· Netflix的账户密码共享和滥用行为的数据相当惊人
· 为什么说我国禁用谷歌地图为明智之举?它究竟有多强大?
· 再见!卡顿的安卓手机
» 更多新闻…
公告
昵称: —八戒—
园龄: 12年4个月
粉丝: 69
关注: 193
+加关注
< | 2022年4月 | > |
日一二三四五六27282930311234567891011121314151617181920212223242526272829301234567
搜索
常用链接
我的标签
- linux(156)
- 命令(73)
- java(44)
- windows(35)
- springboot(25)
- docker(20)
- k8s(19)
- maven(18)
- 安装(18)
- asp.net core(15)
- 更多
随笔分类
- ASP.NET Core(27)
- ASP.NET MVC 6(3)
- blog(1)
- C++(5)
- codesmith(1)
- DevOpt(2)
- docker(23)
- docker-compose(8)
- Dockerfile(4)
- ElasticSearch(9)
- git(17)
- haproxy(2)
- iis(8)
- Intellij IDEA(14)
- java(65)
- javascript(11)
- jquery(8)
- jsp(2)
- k8s(23)
- keepalived(1)
- linux(168)
- lucene.net(1)
- maven(22)
- mongodb(6)
- mono(2)
- MyBatis(8)
- mysql(15)
- net(24)
- nexus3(2)
- nginx(5)
- nuget(4)
- OWIN(1)
- PostgreSQL(10)
- python(2)
- rabbitmq(13)
- rancher(1)
- redis(8)
- regular expression (4)
- shell(3)
- socket(4)
- 更多
随笔档案
- 2021年11月(1)
- 2021年8月(2)
- 2021年5月(2)
- 2021年3月(1)
- 2021年2月(1)
- 2021年1月(5)
- 2020年12月(1)
- 2020年11月(8)
- 2020年10月(3)
- 2020年9月(12)
- 2020年8月(4)
- 2020年7月(3)
- 2020年6月(16)
- 2020年5月(7)
- 2020年4月(7)
- 2020年3月(16)
- 2020年2月(11)
- 2020年1月(18)
- 2019年12月(8)
- 2019年4月(2)
- 2018年10月(2)
- 2018年5月(1)
- 2017年9月(3)
- 2017年8月(4)
- 2017年7月(1)
- 2017年6月(2)
- 2017年5月(2)
- 2017年4月(1)
- 2017年2月(1)
- 2016年12月(1)
- 2016年10月(1)
- 2016年8月(4)
- 2016年7月(4)
- 2016年6月(5)
- 2016年5月(5)
- 2016年4月(8)
- 2016年3月(15)
- 2016年2月(4)
- 2016年1月(8)
- 2015年12月(2)
- 更多
阅读排行榜
- 1. Linux命令-自动挂载文件/etc/fstab功能详解转
- 2. PostgreSQL安装详细步骤(linux)(110263)
- 3. Windows下面安装和配置MySQL(5.6.20)(44452)
- 4. Intellij IDEA导入现有项目(41397)
- 5. 关于JavaScript中Get/Set访问器(36817)
- 6. 创建 maven maven-archetype-quickstart 项目抱错问题解决方法(36507)
- 7. RabbitMQ消息队列(三):任务分发机制转
- 8. C++编译出现 error C2664: 不能将参数 2 从“const char [5]”转换为“LPCTSTR”解决办法。(30269)
- 9. Postgresql 正则表达式(29610)
- 10. Linux命令-挂载命令:mount(26810)
- 11. CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换【转】(25079)
- 12. Linux命令-更新系统时间和硬件时间(20023)
- 13. 【转】springboot属性注入的四种方式(19552)
- 14. Eclipse中创建Maven多模块工程(16789)
- 15. Linux命令-统计文件中的字节数、字数、行数:wc(16752)
- 16. Linux命令-终止进程命令:pkill(16285)
- 17. Linux命令-查看进程命令:pstree(14333)
- 18. centos 为OPENJDK配置JAVA_HOME环境变量,安装MAVEN(12600)
- 19. RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)转
- 20. linux系统yum方式安装htop命令转
- 21. mysql 必须掌握的工具pt-query-digest安装(11433)
- 22. [转]SpringBoot读取Resource下文件的几种方式(11247)
- 23. JAXB注解使用,从xml文件生成xsd,在生成java类文件(11181)
- 24. 使用Sense操作ElasticSearch CRUD(11162)
- 25. STS(Spring Tool Suite)使用maven添加jar包(10784)
- 26. Linux命令-关机命令:shutdown(10471)
- 27. windows系统message消息和wparam、lparam参数的含义(9941)
- 28. servlet与filter的url-pattern设置方式(9923)
- 29. VS2019 修改默认字符集为 UTF8 with BOM(9835)
- 30. STS(Spring Tool Suite)建立默认的spring mvc项目(9761)
- 31. 在Linux上rpm安装运行Redis 3.0.4(9714)
- 32. 配置Windows server 2008文件同步转
- 33. winform 获取图片资源的几种方式转
- 34. 用STS和Maven的方式创建一个JavaWeb项目(8858)
- 35. java打包成window service服务转
- 36. Windows下面安装和配置Solr 4.9(二)(7848)
- 37. helm3使用入门(7374)
- 38. FastJSON使用案例(fastjson-1.1.28.jar)(7249)
- 39. STS IDE 个性化修改(6724)
- 40. img图片自适应宽和高转
评论排行榜
- 1. RabbitMQ消息队列(三):任务分发机制转
- 2. 关于JavaScript中Get/Set访问器(4)
- 3. 创建 maven maven-archetype-quickstart 项目抱错问题解决方法(2)
- 4. STS IDE 个性化修改(2)
- 5. 使用Windbg调试.Net应用程序 转
- 6. 今天又开通博客园的blog了。(2)
- 7. .NET Core Web API 实现大文件分片上传(1)
- 8. 更改ASP.NET Core Razor页面默认页面为Login登录页面(1)
- 9. 【转】springboot属性注入的四种方式(1)
- 10. Linux安装ElasticSearch-2.2.0(1)
- 11. PostgreSQL安装详细步骤(linux)(1)
- 12. RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer) 转
- 13. Windows下面安装和配置Solr 4.9(三)支持中文分词器(1)
- 14. Windows下面安装和配置Solr 4.9(二)(1)
- 15. 在Windows Service上安装运行Redis(1)
- 16. jsp地址栏传中文显示乱码解决方法(1)
- 17. .NET Winform也能画出类似QQ、飞信这样的窗口风格和控件效果(1)
推荐排行榜
- 1. Linux命令-自动挂载文件/etc/fstab功能详解转
- 2. 关于JavaScript中Get/Set访问器(4)
- 3. winform 获取图片资源的几种方式转
- 4. [转]SpringBoot读取Resource下文件的几种方式(2)
- 5. 【转】springboot属性注入的四种方式(2)
最新评论
- 1. Re:【转】springboot属性注入的四种方式
- 学到了,哥
- –这该死的甜美
- 2. Re:.NET Core Web API 实现大文件分片上传
- 提交接口报 net::ERR_CONNECTION_REFUSED
- –aa131
- 3. Re:使用Windbg调试.Net应用程序 [转]
- 这个控制台程序,没有办法创建转储文件
- –十色
- 4. Re:使用Windbg调试.Net应用程序 [转]
- 没有办法 创建转存存储文件
- –十色
- 5. Re:STS IDE 个性化修改
- @梦隯告丶无悔 你看的是2015年的文章了,估计链接都没有了。你可以在网上找一下其他人写的文章。…
- –—八戒—
- 6. Re:STS IDE 个性化修改
- 你好 就是下载的压缩包内并没有Java文件
- –梦隯告丶无悔
- 7. Re:更改ASP.NET Core Razor页面默认页面为Login登录页面
- 这句貌似可以不用(是楼主自定义的东西): options.Conventions.Add(new DefaultRouteRemovalPageRouteModelConvention(String….
- –PER10
- 8. Re:RabbitMQ消息队列(三):任务分发机制[转]
- var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();//挂起的操作这里如果mq里面没有数据的话,进行到这一步就会一直超时不会进行到下一步也…
- –红磨坊后的白桦树
- 9. Re:创建 maven maven-archetype-quickstart 项目抱错问题解决方法
- 解决了,谢谢
- –ttaoLiu
- 10. Re:PostgreSQL安装详细步骤(linux)
- 备份pg,能否备份时直接管道输出给rar加密压缩?mysql可以,但是pg不太熟悉,试了似乎不能在备份的命令行直接将密码作为明文参数?
- –wkl17
- 11. Re:创建 maven maven-archetype-quickstart 项目抱错问题解决方法
- 不好使
- –白柏佰
- 12. Re:关于JavaScript中Get/Set访问器
- 那么问题来了,javascript难道不是js?
- –blbl9527
- 13. Re:RabbitMQ消息队列(三):任务分发机制[转]
- 屌爆了
- –豆苗稀
- 14. Re:关于JavaScript中Get/Set访问器
- @ 饭太少吃饭get age() { return age; },少了这个逗号,并没报错…
- –草根鞋
- 15. Re:关于JavaScript中Get/Set访问器
- 那么问题来了,javascript难道不是js?
- –杜少博客
- 16. Re:RabbitMQ消息队列(三):任务分发机制[转]
- mark
- –wujf
- 17. Re:RabbitMQ消息队列(三):任务分发机制[转]
- 写的很好
- –Ganler1988
- 18. Re:Linux安装ElasticSearch-2.2.0
- 你的bigdesk好像也没有配置成功啊
- –ZepheryWen
- 19. Re:今天又开通博客园的blog了。
- 我是从04年,开始跟着老师学PowerBuilder+SQL起步的,然后07年开始转学C#,08年到北京正式使用C#,09年用了一年VC++,然后又转回C#的WPF,ASP.NET。13年还是转Jav…
- –rgqancy
- 20. Re:RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer) [转]
- hadoop 使用的是avro ,protobuf 不适用于大数据
- –fbaiyunl
- 21. Re:今天又开通博客园的blog了。
- 看到 delphi 转C# 我很心疼 我喜欢了DELPHI 10年
我不得不承认 我也在慢慢接受C# - –江南哥哥
- 22. Re:Windows下面安装和配置Solr 4.9(二)
- 配置成功之后呢,之后要怎么做呢?
- –java_ZZ
- 23. Re:关于JavaScript中Get/Set访问器
- 提示语法错误呢 <!DOCTYPE html> <html lang=”zh-CN”> <head> <meta charset=”utf-8”> <title>get set 使用方法</title…
- –饭太少吃饭
- 24. Re:Windows下面安装和配置Solr 4.9(三)支持中文分词器
- IK-Analyzer-2012FF 已经可以在 solr-4.9.1版本中使用中文分词。
- –三平行者
- 25. Re:在Windows Service上安装运行Redis
- mark
- –lilvy
- 26. Re:jsp地址栏传中文显示乱码解决方法
- 这?
- –白飞龙
- 27. Re:.NET Winform也能画出类似QQ、飞信这样的窗口风格和控件效果
- 您这些文章是介绍产品的? 能将 实现Winform窗口的漂亮皮肤 的方法写出来吗?我想更多人想知道这个
- –jayboy
Copyright © 2022 —八戒—
Powered by .NET 6 on Kubernetes
拖拽到此处
图片将完成下载