• PostgreSQL编译安装


    PostgreSQL编译安装

    • 安装语言包
    ### PostgreSQL 初始化过程中,会读取操作系统字符编码,
    ### 若程序需要使用zh_CN.utf-8字符编码,需要在PostgreSQL 初始化之前安装中文包,再初始化PostgreSQL,
    ### 否则未安装中文包初始化数据库,会导致数据库字符编码格式没有h_CN.utf-8字符编码格式,影响程序后期使用
    
    # sudo apt-get install language-pack-zh*
    # sudo apt-get install language-pack-en*
    
    • 安装编译所需依赖包:
    # sudo apt-get install -y libtool libapr1 make gcc libexpat1-dev
    # sudo apt install libreadline5-dev 
    # sudo apt install libreadline-gplv2-dev
    # sudo apt install zlib1g-dev
    # sudo apt install uuid-dev libossp-uuid-dev
    
    • 编译PostgreSQL:
    # cd /Sioeye/SioApps/Environment/
    # wget https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.gz
    
    # tar -zxvf postgresql-10.6.tar.gz
    # cd postgresql-10.6/
    
    # ./configure --prefix=/Sioeye/SioApps/Environment/postgresql --with-ossp-uuid
    # make
    # make install
    
    # cd contrib/
    # make
    # make install
    
    • 创建postgres用户
    ### 创建postgres用户
    # groupadd postgres
    # useradd -g postgres -m postgres
    
    ### 设置用户密码
    # passwd postgres
    
    ### 创建数据存储目录,并授权postgres用户所属权限
    # mkdir -pv /Sioeye/Data/postgresql/data
    # chown postgres:postgres /Sioeye/SioApps/Environment/postgresql -R
    # chown postgres:postgres /Sioeye/Data/postgresql/data -R
    
    • 初始化PostgreSQL
    ### 切换用户,并设置基础环境变量。
    # su - postgres
    # vim ~/.bash_profile
    
    ### 在其文件最底下追加以下配置
    export PGHOME=/Sioeye/SioApps/Environment/postgresql
    export PGDATA=/Sioeye/Data/postgresql/data/
    export PATH=$PGHOME/bin:$PATH
    export MANPATH=$PGHOME/share/man:$MANPATH
    export LANG=en_US.utf8
    export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
    
    # source ~/.bash_profile
    
    ### 初始化数据库
    # initdb -D /Sioeye/Data/postgresql/data
    
    ### 创建日志存储目录,启动数据库
    # mkdir /Sioeye/Data/logs/postgresql
    # pg_ctl -D /Sioeye/Data/postgresql/data -l /Sioeye/Data/logs/postgresql/start_logs.log start
    
    • 设置postgres用户密码
    ### 此处设置数据库用户密码,而非操作系统用户密码
    # psql
    postgres=# alter user postgres with password '123456';
    
    • 设置开机启动
    ### 从源码中拷贝启动脚本到/etc/init.d/目录
    # cd /Sioeye/SioApps/Environment/postgresql-10.6/start-scripts/
    # cp linux /etc/init.d/postgresql
    
    ### 修改默认配置
    # vim /etc/init.d/postgresql
    
    ##############################################
    # Installation prefix
    prefix=/Sioeye/SioApps/Environment/postgresql
    
    # Data directory
    PGDATA="/Sioeye/Data/postgresql/data/"
    
    # Who to run the postmaster as, usually "postgres".  (NOT "root")
    PGUSER=postgres
    
    PGLOG="/Sioeye/Data/logs/postgresql/"
    
    # Where to keep a log file
    PGLOG="$PGLOG/serverlog"
    ##############################################
    
    # chmod a+x /etc/init.d/postgresql
    # chkconfig  --add postgresql
    # update-rc.d postgresql defaults 98
    
    • 按需修改pg_hba.conf,postgresql.conf文件
    ### /Sioeye/Data/postgresql/data/pg_hba.conf 文件最后追加
    host all all 0.0.0.0 0.0.0.0 md5
    
    ### /Sioeye/Data/postgresql/data/postgresql.conf 文件修改
    listen_addresses = '0.0.0.0'
    port = 5432
    
  • 相关阅读:
    String类的intern()方法,随常量池发生的变化
    JDK8的JVM内存结构,元空间替代永久代成为方法区及常量池的变化
    wait()、notify()方法原理,以及使用注意事项--丢失唤醒、虚假唤醒
    消费者、生产者Java代码示例,wait-notify实现
    volatile、Synchronized实现变量可见性的原理,volatile使用注意事项
    CAS及其ABA问题
    JUC包Lock机制的支持--AQS
    JUC包实现的同步机制,原理以及简单用法总结
    Synchronized机制下偏向锁、轻量级锁、重量级锁的适用场景
    临时表循环插入
  • 原文地址:https://www.cnblogs.com/evescn/p/10692327.html
Copyright © 2020-2023  润新知