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 ...
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 = # (change requires restart)
max_connections = # (change requires restart)

修改安全配置

vim /pgdata/pg_hba.conf

在ipv4 下面增加一行记录
host all all 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 进行连接测试.

安装完成.

国产龙芯服务器源码安装PostgreSQL数据库的方法的更多相关文章

  1. 源码安装postgresql数据库

    一般情况下,postgresql由非root用户启动. 1.创建postgres用户 groupadd postgres useradd -g postgres postgres 下面的操作都在pos ...

  2. CentOS7 源码安装 PostgreSQL 12

    PostgreSQL 12 源码安装 Table of Contents 1. 下载 2. 准备环境 3. 编译安装 4. 设置环境变量 5. 初始化数据库 6. 配置参数文件 6.1. postgr ...

  3. 记录一个源码安装mysql5.6的方法

    https://www.jb51.net/article/118853.htm 如果之前源码安装过mysql5.6的话,卸载方法如下:rm -rf /var/lib/mysql/rm -rf /usr ...

  4. linux源码安装软件的一般方法

    rhel系统貌似安装不了xmgrace,配置的时候居然说要那个M*tif库.百度了一下,需要openmotif库,然后用root账户想要用yum安装一下这个库,搞了好久没搞懂.后面搞明白了,原因竟是因 ...

  5. Linux环境下源码安装PostgreSQL

    1.下载PostgreSQL源码包,并保存到Linux操作系统的一个目录下 2.解压PostgreSQL源码包 :tar zxvf postgresql-9.2.4.tar.gz 或 tar jxvf ...

  6. Centos7 源码安装PostgreSQL Citus集群 (转载)

    citus的分布式集群目前在苏宁大规模应用,苏宁陈华军也做了很多技术分享和博客介绍.目前所有的教程都是rpm和pg一起安装,个人不喜欢,毕竟citus定位是个插件,我想在我已安装的pg上源码装一个ci ...

  7. linux 源码安装postgresql

    下载源码包 --安装所需要的系统软件包 yum groupinstall -y "Development tools" yum install -y bison flex read ...

  8. samba服务器源码安装(非rpm)

    首先我们创建一个文档,边安装配置samba,边写教程. 从www.samba.org下载samba最新源码包,我下载的是samba-3.0.7.tar.gz,把它放在我的目录的中/root/lova/ ...

  9. PostGreSQL(1)-源码安装

    目录 简述 一.格式化磁盘 二.源码安装 PostGreSql 1. 安装 readline-devel 2. 安装 PostGresql 3. 设置环境变量 三. 初始化 1. 设置运行用户 2. ...

随机推荐

  1. c++ 珊格画椭圆

    #ifndef _TEST_H #define _TEST_H #include <iostream> #include <math.h> using namespace st ...

  2. elasticsearch 动态映射

    https://www.elastic.co/guide/cn/elasticsearch/guide/current/dynamic-mapping.html#dynamic-mapping当 El ...

  3. 区间最值问题(RMQ)

    题目描述 给出N个数,求第a个数到第b个数之间最大的数减去最小的数的结果 程序输入说明 N(N小于100,000),M(M小于100,000)接下来有N个数接下来M组范围,所有数均在[0,231-1] ...

  4. LeetCode 222. 完全二叉树的节点个数(Count Complete Tree Nodes)

    题目描述 给出一个完全二叉树,求出该树的节点个数. 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位 ...

  5. Mercury:唯品会全链路应用监控系统解决方案详解(含PPT)

    Mercury:唯品会全链路应用监控系统解决方案详解(含PPT) 原创: 姚捷 高可用架构 2016-08-08    

  6. MindManager2018试用期过后 修改过期时间 破解使用

    MindManager2018试用期过后 修改过期时间 破解使用 2019年06月13日 15:58:11 一生中所爱 阅读数 1991更多 分类专栏: 工具软件使用   1.找到路径:C:\User ...

  7. ISO/IEC 9899:2011 条款6.2.4——对象的存储持久性

    6.2.4 对象的存储持久性 1.一个对象具有一个存储持久性来确定其生命周期.一共有四种存储持久性:静态的,线程的,自动的,以及分配的.分配存储在7.22.3中描述. 2.一个对象的生命周期是程序执行 ...

  8. 使用editplus等编程工具时UTF-8编码去掉BOM头方法(转载备查)

            Unicode规范中有一个BOM的概念.BOM——Byte Order Mark,就是字节序标记.在这里找到一段关于BOM的说明: 在UCS 编码中有一个叫做"ZERO WI ...

  9. 005-多线程-集合-Map-ConcurrentSkipListMap

    一.概述 ConcurrentSkipListMap是线程安全的有序的哈希表,适用于高并发的场景. ConcurrentSkipListMap和TreeMap,它们虽然都是有序的哈希表.但是,第一,它 ...

  10. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_08-课程预览技术方案

    3.2.1 技术需求 课程详情页面是向用户展示课程信息的窗口,课程相当于网站的商品,本页面的访问量会非常大.此页面的内容设 计不仅要展示出课程核心重要的内容而且用户访问页面的速度要有保证,有统计显示打 ...