技术标签: postgresql 运维 linux
一、下载离线安装包
我这里用的是9.6.10
二、下载gcc-c++和readline
三、安装
在根路径下创建data目录,作为我们得工作目录
1,gcc-c++环境检测
rpm -qa | grep gcc-c++
2,gcc-c++环境安装
将下载好的gcc-c++放到data目录下(最好所有的gcc文件放一个单独文件夹)
执行命令:rpm -Uvh *.rpm --nodeps --force
3,查看安装结果
gcc -v
g++ -v
4,安装postgresql
把postgresql安装包放到data目录下进行解压:
tar -zxvf postgresql-9.6.10.tar.gz
切换到解压目录下,执行安装命令:
./configure --prefix=/data/postgresql
报错:
这是缺少readline,执行命令查看是否存在:
rpm -qa | grep readline
实际上是存在的, 出现这种情况一般是缺少相关 devel 包,将我们之前下载的两个readline包 放到data下进行安装:注意先后顺序
rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
rpm -ivh readline-devel-6.2-11.el7.x86_64.rpm
安装完成后,再次切换到解压得postgresql目录下:
./configure --prefix=/data/postgresql
postgresql安装完成。
进行编译:make
注:编译时间会较长,请耐心等待。
make install
编译完成。
四、配置
root用户不能启动postgresql,所以需要创建一个普通用户来启动数据库
创建用户:useradd postgres
设置密码:passwd postgres
切换到已安装得postgresql路径下:
创建目录 data(数据库存储) 和 log(日志存储)
将postgresql的目录权限全部赋予给postgres用户
chown -R postgres:postgres /data/postgresql
配置环境变量:
执行命令:vim /etc/profile (i键进入编辑状态)
在最下面添加配置:
export PGDATA=/data/postgresql/data
export PGHOME=/data/postgresql
export PATH=$PGHOME/bin:$PATH
按ESC退出编辑,按:wq保存并退出。
更新配置:source /etc/profile
切换为 postgres 用户:su postgres
直接使用命令 initdb来完成数据库初始化操作
切换到postgresql下data目录下:
执行命令:vim pg_hba.conf
退出保存即可。
执行命令:vim postgresql.conf
执行命令:systemctl status firewalld.service
查看防火墙是否关闭
我这里是已经关闭了,如果是下图:
可以看见服务器防火墙处于开启状态,使用命令 systemctl stop firewalld.service 关闭防 火 墙。(ps:使用命令 systemctl disable firewalld.service ,可以停用防火墙开机自启)
切换到postgresql源码包的解压目录下;
cp contrib/start-scripts/linux /etc/init.d/postgresql
我这里出现了一个错误:
注意看:执行这个命令需要是root用户,切换成root用户执行即可;
执行命令:vim /etc/init.d/postgresql
赋予该文件执行权限:
chmod +x /etc/init.d/postgresql
设置服务开机自启:
chkconfig --add postgresql
启动数据库:
service postgresql start
切换postgres用户,使用psql进行登录
使用\password进行设置密码
使用\l 进行查看
文章浏览阅读6.6k次,点赞4次,收藏4次。在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,我这里仅对 像ICQ一类的发送聊天消息的情况作分析,对于其他情况,你或许也能得到一点帮助: 首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,运输层,应用层. UDP属于运输层_最大请求报文大小
文章浏览阅读10w+次,点赞14次,收藏18次。代码如下:for /l %a in (0,0,1) do echo hello,world粘贴在cmd命令行窗口中,回车即可无限死循环输出hello,world。如果需要停止,可以按ctrl+c中断。解析通用形式:for /l %variable IN (start,step,end) DO command [command-parameters] 该集表示以增量形式从start到end的一个数字序列。具体到第一段代码,如果是 (0,0,1) 就是从0开始,每次增_cmd装比代码无限循环
文章浏览阅读917次,点赞18次,收藏11次。为了方便有学习需要的朋友,我把资料都整理成了视频教程(实际上比预期多花了不少精力)当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
文章浏览阅读2k次,点赞5次,收藏14次。1、写出微分方程函数2、求解function dy=rigid(t,y)dy=zeros(3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);end%将微分方程写成函数形式,待调用options=odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);[T Y]=ode45(@rigid,[0 12],[0 1 1],options);plot(T,Y(:,1),'-',T,Y_ode函数离散
文章浏览阅读3.8w次,点赞41次,收藏180次。==操作符与equals方法的区别_java中==和equals的区别
文章浏览阅读170次。创建扩展对象实例from flask_login import LoginManagerlogin_manager = LoginManager()login_manager.login_view = 'auth.login'# 上面这一句是设置登录视图的名称,如果一个未登录用户请求一个只有登录用户才能访问的视图,# 则闪现一条错误消息,并重定向到这里设置的登录视图。# 如果未设置..._python flask please log in to access this page
文章浏览阅读513次,点赞9次,收藏10次。无法加载DLL"halconxl": 找不到指定的模块。(异常来自HRESULT:0X8007007E)。在exe安装目录中中添加halconxl.dll文件继续运行就了。_c#如何免安装halcon12
文章浏览阅读1k次,点赞11次,收藏9次。你的键盘上应该有两个Ctrl键,按右边的Ctrl解决了。_键盘一直自动按ctrl
文章浏览阅读141次。Linux 命令【6】:cut文章目录一、简介二、命令详解三、实例演示一、简介cut 命令是一个将文本按列进行切分的小工具,它可以指定分隔每列的定界符。二、命令详解命令格式:cut {选项} {文件名}选项:-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。-c :以字符为单位进行分割。-d :自定义分隔符,默认为制表符。-f :与-d一起使用,指定显示哪个区域。-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一._cut使用特殊字符为分隔符
文章浏览阅读2.4k次。/** * 播放audio标签视频控制 * */ //等待音频加载完毕 点击每一段录音进行播放 $('.lis').click(function(){ $('.j_voiceCont').show(); var src = $(this).attr("src"); $(this).addClass('c_audiotrack可以设置进度吗
文章浏览阅读1.9k次,点赞69次,收藏64次。Sora官网。
文章浏览阅读2k次。大批量数据的导出,当数据量达到一定的量会导致内存被撑爆,出现 oom异常,基于问题实大批量数据分批的方式进行查询和导出代码实现package com.ly.service;import com.ly.helper.BatchWriteFileUtils;import com.ly.helper.BeanUtils;import com.ly.vo.rs..._bufferedwriter避免oom