• 国产龙芯服务器源码安装PostgreSQL数据库的方法


    1. 公司最近有一些国产化项目的需求, 要求在国产CPU的服务器上面安装pg数据库等.

    2.. 但是差查了下中标麒麟的官网,在龙芯MIPS的操作系统包源里面仅有 postgreSQL 9.2 版本的rpm包, 但是要求最低版本是10.x 所以没办法就采取源码安装的方式进行安装.

    3. 安装过程.(备注arm的CPU 不管是 飞腾的还是华为的过程应该都是一模一样的)

    3.1 下载源码包

    百度搜索postgreslq的官网,然后下载源码即可.

    https://www.postgresql.org/ftp/source/v10.10/

    具体的下载地址为:
    https://ftp.postgresql.org/pub/source/v10.10/postgresql-10.10.tar.gz

    界面效果:

    3.2 linux上面创建文件夹

    [root@neoky01 ~]# mkdir /pg10
    [root@neoky01 ~]# useradd postgres
    [root@neoky01 ~]# mkdir /pgdata
    [root@neoky01 ~]# chown postgres:root /pgdata

    第一步创建 存放 PG源码的文件夹
    第二步创建 运行postgreSQL数据库的用户
    第三步创建 存放postgreSQL数据库数据文件的目录
    第四步修改 存放postgreSQL数据库数据文件的目录的属主

    3.3 将postgresql的源码上传至服务器的/pg10 目录中

    3.4 解压缩然后进行安装.

    tar -zxvf 解压缩文件压缩包
    
    cd .. 进入到解压缩后的文件夹
    
    执行如下命令进行配置.
    
    ./configure --without-readline  --without-zlib 

    执行 make && make install 进行安装

    龙芯3吖000的机器大约耗时: 900s
    15:01 到 15:16

    然后进入到 源文件的 contrib 的目录下面 执行命令
    make && make install
    大约耗时: 120s
    15:19 到 15:21

    3.5 修改环境变量

    postgresql 源码安装默认安装到 
    /usr/local/pgsql/bin
    这个目录中, 为了简单起见. 可以修改一下 环境变量便于使用.
    vim /etc/profile.d/pg.sh
    增加上一行内容即可
    export PATH=$PATH:/usr/local/pgsql/bin
    然后使之生效
    source  /etc/profile.d/pg.sh

    3.6 初始化数据库

    需要切换用户
    su - postgres
    执行命令:
     initdb -D /pgdata
    
    就完成了数据库的创建过程.

    一般的提示信息为:

    [root@neoky01 bin]# su - postgres
    [postgres@neoky01 ~]$ initdb -D /pgdata
    The files belonging to this database system will be owned by user "postgres".
    This user must also own the server process.
    
    The database cluster will be initialized with locale "zh_CN.UTF-8".
    The default database encoding has accordingly been set to "UTF8".
    initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
    The default text search configuration will be set to "simple".
    
    Data page checksums are disabled.
    
    fixing permissions on existing directory /pgdata ... ok
    creating subdirectories ... ok
    selecting default max_connections ... 100
    selecting default shared_buffers ... 128MB
    selecting default timezone ... PRC
    selecting dynamic shared memory implementation ... posix
    creating configuration files ... ok
    running bootstrap script ... ok
    performing post-bootstrap initialization ... ok
    syncing data to disk ... ok
    
    WARNING: enabling "trust" authentication for local connections
    You can change this by editing pg_hba.conf or using the option -A, or
    --auth-local and --auth-host, the next time you run initdb.
    
    Success. You can now start the database server using:
    
        pg_ctl -D /pgdata -l logfile start

    3.7 使用systemd 设置为daemon 服务启动

    注意 需要使用root 用户进行编辑
    vim /etc/systemd/system/pg.service
    
    插入内容:
    
    [Unit]
    Description=pg
    
    [Service]
    User=postgres
    
    ExecStart=/usr/local/pgsql/bin/postmaster -D /pgdata
    Restart=always
    
    [Install]
    WantedBy=multi-user.target

    设置服务自动启动还有开启服务

    systemctl enable pg
    systemctl restart pg

    3.8 查看服务状态以及修改安全配置

    systemctl status pg

     需要修改安全配置, 注意 数据库的配置文件就在/pgdata 里面

    3.放开监听以及修改连接数等.

    vim /pgdata/postgresql.conf
    
    主要修改如下内容:
    # - Connection Settings -
    
    listen_addresses = '*'          # what IP address(es) to listen on;
                                            # comma-separated list of addresses;
                                            # defaults to 'localhost'; use '*' for all
                                            # (change requires restart)
    port = 5432                             # (change requires restart)
    max_connections = 2000                  # (change requires restart)

    修改安全配置

    vim /pgdata/pg_hba.conf
    
    在ipv4 下面增加一行记录
    host    all             all             0.0.0.0/0              md5

     注意 md5 必须使用密码登录 trust 可以不使用密码登录 非常不安全  所以强烈不建议使用trust ..

    3.9 设置 postgres 数据库用户的密码

    linux 下面执行命令
    su - postgres
    然后执行命令
    psql
    进入postgreSQL数据库的操作界面, 一般的提示信息如:

    然后执行命令

    alter role postgres with password 'Test6530';

    注意 一定要有 分号, 并且湖之一要有具体的提示信息才可以.

    [root@neoky01 bin]# su - postgres
    [postgres@neoky01 ~]$ psql
    psql (10.10)
    Type "help" for help.

    postgres=# alter role postgres with password 'Test6530';
    ALTER ROLE
    postgres=#

    出现alter role 即可.

    3.10 重启postgresql 数据库,并且验证是否可以连接

    systemctl restart pg

    然后使用 navicat 进行连接测试.

     安装完成. 

  • 相关阅读:
    flask连接数据库的URI书写格式
    touch事件中的touches、targetTouches和changedTouches
    postgresql自增字段初始值的设定
    ubuntu下使用apt-get install安装软件的安装位置
    微信小程序全局变量的设置、使用、修改
    微信小程序常用的3种提示弹窗
    vue练手项目——桌面时钟
    用原生JS实现爱奇艺首页导航栏
    vue-cli配置环境变量的方法
    cross-env解读
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/11572671.html
Copyright © 2020-2023  润新知