• Postgresql部署及简单操作


    PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚。但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先了解它,然后才可有话语权。为了更多的了解postgresql,我们就先部署一套实例作为了解它的基础。

    一 、 环境介绍

    操作系统: centos

    CPU:  4核

    内存: 16G

    postgresql:  postgresql-11.4

    二、 编译安装

    1. 安装依赖包

     yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

     2. 下载并解压

    wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz
    tar -zxvf postgresql-11.4.tar.gz

    3. 创建用户

     # 查看用户是否存在
    id postgres
    # 添加用户组及用户
    groupadd postgres useradd -g postgres postgres # 再次查看可以查看对应的uid gid
    id postgres

    4. 创建 postgresql数据目录并授权

    选择对应的磁盘空间较大的盘创建数据目录

    mkdir -p /data/postgresql/data
    chown -R postgres:postgres data

    5. 编译postgresql源码

    cd /data/postgresql-11.4
    
    ./configure --prefix=/data/postgresql

      PostgreSQL配置脚本选项

    6. 开始安装

    make
    make install

    编译后结果如下

    至此,postgresql安装完成。

    7. 配置环境变量

    # 切换到postgres用户
    su - postgres
    # 编辑postgres用户环境变量
    vim .bash_profile
    
    # 添加如下内容
    export PGHOME=/data/postgresql
    export PGDATA=/data/postgresql/data
    PATH=$PATH:$HOME/bin:$PGHOME/bin 

    # 使环境变量生效
    source .bash_profile

    8. 初始化数据库

    在postgres用户下运行initdb命令即可初始化数据库

    initdb

     此时,postgresql数据目录下已经生成对应的文件。

    cd /data/postgresql/data
     ll -h 

     

    9. 配置文件修改

    修改数据目录下的postgresql.conf  及 pg_hba.conf文件

    postgresql.conf   配置PostgreSQL数据库服务器的相应的参数。 
    pg_hba.conf        配置对数据库的访问权限

    初期测试使用时,可以简单修改部分配置,其他值使用默认值。

    1)修改 postgresql.conf

    vim postgresql.conf
    修改 listen_addresses 为 * ,代表所有主机皆可访问
    listen_addresses = '*' 

    内存配置等参数后续将介绍其含义及配置建议。

    2)修改 pg_hba.conf

    添加如下记录

     

    10.  配置服务

    如需配置为服务启动方式,可以按照如下步骤操作

    # 进入postgresql源码目录
    cd /data/postgresql-11.4/contrib/start-scripts
    # 此目录下有各系统的启动目录,需先将其添加执行权限
    chmod +x  linux 
    # 将启动服务拷贝至启动服务下
    cp linux  /etc/init.d/postgresql

     因启动服务命令里配置上了默认安装路径目录及数据目录,如与默认路径不一致,需手动调整

    vim  /etc/init.d/postgresql
    
    修改 prefix及PGDATA

     

    11 . 启动服务

    a)  通过服务启动postgresql

    /etc/init.d/postgresql  start

    b)  通过服务关闭postgresql

    /etc/init.d/postgresql  stop

    c)  通过pg_ctl 启动

    #  将postgresql安装路径bin目录下的命令赋权给postgres用户
    cd  /data/postgresql/bin
    chown -R  postgres:postgres  .
    # 切换至postgres用户启动服务
     su - postgres
    # 启动服务
    pg_ctl -D /data/postgresql/data/ -l logfile  start

    至此,便可以通过客户端连接数据库进行操作了。

    三、简单操作

    1. 创建数据库

    createdb gjc

    2.  连接数据库

    # 使用psql连接gjc数据库
    psql gjc

    3.  创建表、索引、并插入数据

    gjc=# create table  test1(id int  not null  primary key,name  varchar(20),age int );
    CREATE TABLE
    gjc=# create index idx_test1_name on test1(name);
    CREATE INDEX
    gjc=# insert into test1 values(1,'gjc',28);
    INSERT 0 1
    gjc=# select * from test1

    id | name | age
    ----+------+-----
    1 | gjc | 28
    (1 row)

    其他的操作,大家可以参考官方文档或中文社区进行学习实践,如有问题也可以与我联系沟通,共同探索。

    耿小厨已开通个人微信公众号,想进一步沟通或想了解其他文章的同学可以关注我

    我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=33ja5r1x478ks

  • 相关阅读:
    纯手工打造漂亮的瀑布流,五大插件一个都不少Bootstrap+jQuery+Masonry+imagesLoaded+Lightbox!
    纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!
    FineUI v3.3.1 发布了!
    FineUI参考手册(离线版)现已免费提供下载!
    #CSDN刷票门# 有没有人在恶意刷票?CSDN请告诉我!用24小时监控数据说话!
    FineUI有三篇文章同时上博客园首页10天内推荐排行,难得啊!
    记 FineUI 官方论坛所遭受的一次真实网络攻击!做一个像 ice 有道德的黑客!
    如何优化 FineUI 控件库的性能,减少 80% 的数据上传量!
    我在 CSDN 的小窝
    2017年IT行业测试调查报告
  • 原文地址:https://www.cnblogs.com/gjc592/p/11313878.html
Copyright © 2020-2023  润新知