linux安装postgresql数据库
本文提供数据库安装脚本,有部分需要优化,就是脚本中的方法执行存在前后依赖,但是代码里面没有对上一个执行结果进行判断,如果提供的路径和安装包没有问题,脚本能够正常执行
- #!/bin/bash
- # install postgre
- # base_path=$(cd $(dirname ${BASH_SOURCE[]}); pwd )
- base_path="/opt"
- # Pg database installation package name
- pg_name="./postgresql-9.6.15-1-linux-x64-binaries.tar.gz"
- # Pg database installation path
- pg_deploy_path="$base_path/postgreSQL"
- # Directory of data stored in the pg database
- pg_data_path="${pg_deploy_path}/data"
- # Directory of data stored in the pg database
- user_name='pguser'
- # unzip pg
- function pg_untar(){
- if [ -d ${pg_deploy_path} ];then
- echo "pg has been installed"
- else
- if [ ! -e ${pg_name} ];then
- echo "Missing pg installation package"
- else
- mkdir -p ${pg_deploy_path}
- tar -zxf ${pg_name} -C ${pg_deploy_path}
- fi
- fi
- }
- # Create a Linux user to log in to the PG database
- function pg_create_user(){
- # user_exist=`cat /etc/passwd | grep '^${user_name}:' -c`
- egrep "^${user_name}" /etc/passwd >/dev/null
- if [ $? -eq ]; then
- pass=$(perl -e 'print crypt($ARGV[0], "password")' $user_name)
- useradd -m -p $pass ${user_name}
- #useradd -m -p 'postgres' ${user_name}
- [ $? -eq ] && echo "user [${user_name}] has been added to system!" || echo "Failed to add user [${user_name}]"
- else
- echo "user [${user_name}] exists"
- fi
- }
- #init pg
- function pg_init(){
- #Create a data directory
- mkdir -p ${pg_data_path}
- touch ${pg_deploy_path}/logfile
- #Grant user access
- chown -R ${user_name} ${pg_data_path}
- chown ${user_name} ${pg_deploy_path}/logfile
- # init database
- su - ${user_name} -c "${pg_deploy_path}/pgsql/bin/initdb -D ${pg_data_path}"
- }
- #Modify config of the pg database
- #
- function pg_modify_config(){
- id_path=${pg_data_path}/postgresql.conf
- local_path=${pg_data_path}/pg_hba.conf
- localip=$(/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:")
- if [ -d ${pg_data_path} ];then
- chown -R 'root' ${pg_data_path}
- #Modify listening ip
- sed -i "s@#listen_addresses = 'localhost'@listen_addresses = \'${localip}\'@g" $id_path
- #Modify Trust client ip
- #sed -i "s@#listen_addresses = 'localhost'@listen_addresses = \'${localip}\'@g" $id_path
- sed '86 ahost all all 0.0.0.0/0 trust' -i $local_path
- chown -R ${user_name} ${pg_data_path}
- else
- echo "You need to initialize the database with the command:\n\t ${pg_deploy_path}/pgsql/bin/initdb -D ${pg_data_path} "
- fi
- }
- # start pg database
- function pg_start(){
- su - ${user_name} -c "${pg_deploy_path}/pgsql/bin/pg_ctl -D ${pg_data_path} -l ${pg_deploy_path}/logfile start"
- }
- # create default database bms_ops
- function pg_createdb(){
- sleep 3s
- default_db="bms_ops"
- su - ${user_name} -c "${pg_deploy_path}/pgsql/bin/createdb -O ${user_name} ${default_db}"
- }
- #Open port
- function pg_open_port(){
- isopen=$(firewall-cmd --query-port=/tcp)
- if [ 'no' == $isopen ];then
- firewall-cmd --add-port=/tcp --permanent>/dev/null
- firewall-cmd --reload>/dev/null
- else
- echo "port 5432 already opened"
- fi
- }
- echo "============== start install pg =============="
- if [ -d ${pg_deploy_path} ];then
- echo "pg has been installed"
- else
- pg_untar
- pg_create_user
- pg_init
- pg_modify_config
- pg_start
- pg_createdb
- pg_open_port
- fi
- echo "============== finish installing pg =============="
linux安装postgresql数据库的更多相关文章
- Linux 安装 PostgreSQL
Linux 安装 PostgreSQL CentOS 7 安装 PostgreSQL 10 步骤 官网安装步骤,选择服务器和数据库版本,会给出相应的安装命令 # 安装 yum install -y h ...
- Windows Azure上的Odoo(OpenERP)-1.创建Ubuntu虚拟机,安装PostgreSQL 数据库
前提是您必须拥有Windows Azure的账号,如果没有的话,可以去Windows Azure 中国区网站申请免费试用账号.哈哈,我就是第一批申请的试用账号,感觉自己挺幸运的.申请的过程就不写了,请 ...
- Windows安装PostgreSQL数据库 无法初始化数据库问题
背景 由于项目的需要,使用PostgreSQL数据库,因此在Windows上安装PostgreSQL数据库.但是在安装后,无法访问本地数据库,这个时候查看/data目录,没有任何文件.而且安装过程中, ...
- linux下PostgreSQL数据库的源码安装
实验环境>>>>>>>>>>>>>>>>>>操作系统:CentOS release 6.3 ...
- [zz]安装PostgreSQL数据库(Linux篇)
0.编译环境 Linux: CentOS 5.5 gcc: 4.1.2 1. 安装PostgreSQL 1) 解压postgresql-9.1.7.tar.bz2 #tar jxvf postgres ...
- 安装PostgreSQL数据库(Linux篇)
0.编译环境 Linux: CentOS 5.5 gcc: 4.1.2 1. 安装PostgreSQL 1) 解压postgresql-9.1.7.tar.bz2 #tar jxvf postgres ...
- [亲测有效] - Linux安装PostgreSQL
本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦. 环境说明系统:centos 6.4 64位软件:postgresq ...
- linux安装postgresql
第一步在编译安装postgresql源码的时候,需要用到以下依赖,若本机没有的话,需要提前安装依赖环境,执行以下命令:yum install gcc gcc-c++yum install zlib-d ...
- 国产龙芯服务器源码安装PostgreSQL数据库的方法
1. 公司最近有一些国产化项目的需求, 要求在国产CPU的服务器上面安装pg数据库等. 2.. 但是差查了下中标麒麟的官网,在龙芯MIPS的操作系统包源里面仅有 postgreSQL 9.2 版本的r ...
随机推荐
- tensorflow简介、目录
目前工作为nlp相关的分类及数据治理,之前也使用tensorflow写过一些简单分类的代码,感受到深度学习确实用处较大,想更加系统和全面的学习下tensorflow的相关知识,于是我默默的打开了b站: ...
- Spring Cloud Hystrix 请求熔断与服务降级
在Java中,每一个HTTP请求都会开启一个新线程.而下游服务挂了或者网络不可达,通常线程会阻塞住,直到Timeout.你想想看,如果并发量多一点,这些阻塞的线程就会占用大量的资源,很有可能把自己本身 ...
- 《SQL 进阶教程》 查找局部不一致的数据
-- 从下面这张商品表里找出价格相等的商品的组合 select * from products p1LEFT JOIN products p2on p1.price = p2.price and p1 ...
- Electromagnetic
1. 电磁辐射 2. 电磁频谱 3. 可见光 4. 微波 5. 更多相关链接 1. 电磁辐射 https://en.wikipedia.org/wiki/Electromagnetic_radiati ...
- python学习 —— seaborn、matplotlib、pandas、numpy package的混合使用
这里使用了Titanic Machine learning数据集,然后通过Seaborn的函数来拟合和绘制回归线,matplotlib进行可视化. 先来一个简单的测试: import pandas a ...
- C++ class without pointer members
写在前面 Object Oriented class 的分类:带指针的class和不带指针的class, class 的声明 这里有一个inline的概念,写在类里面的默认为inl ...
- 1. 使用 Docker 安装 Kong
Create a Docker network $ docker network create kong-net Start Database $ docker run -d --name kong- ...
- java实现邮箱发送邮件
第一步:封装发件人账号密码 import javax.mail.Authenticator;import javax.mail.PasswordAuthentication; /** * 发件人账号密 ...
- vue 输入框数字、中文验证
vue项目是基于element框架做的,在做form表单时,要做些验证,element框架也提供了自定义验证 下面是一些常见的验证 只允许输入数字: 可以直接用框架的rule去验证,但必须在model ...
- input不显示边框
参考:https://www.cnblogs.com/mmykdbc/p/6200963.html input{ border: none; outline: none; }