专栏首页【从零开始学习Go语言】【玩转腾讯云】二.基于CVM服务器轻松部署PostgreSQL数据库
原创

【玩转腾讯云】二.基于CVM服务器轻松部署PostgreSQL数据库

PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的 POSTGRES,4.2版本为基础的对象关系型数据库管理系统.POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中.PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等.同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等.另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL.


一.创建CVM云服务器

①在CVM云服务器面板中——实例——新建CVM云服务器

②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

③实例类型选择"标准型"——实例配置选择“标准型SA2"——“配置为1H1G”

选择配置如下图所示

④ 镜像部分选择“公共镜像——Centos、64位、Centos7.2 64位"

公网带宽选择“免费分配独立公网IP”——计费类型选择“按使用流量”——带宽值数为:100Mbps

具体配置如下,配置完毕以后点击“下一步:设置主机"进行下一步配置操作

⑤安全组配置为“已有安全组” 并选择“放通全部端口"

登陆方式为“设置密码”,并在密码处,设置对应的密码 (注意哦,密码一定要符合复杂性要求的哦,包含大写字母,小写字母,特殊字符,数字等)

配置完毕以后,点击“下一步:确认配置信息" 进行下一步配置操作

⑥所有配置完毕以后,我们点击“开通” 去开通CVM云服务器

⑦ 正在开通中....


二. 远程连接云服务器

2.1.使用远程工具登陆到服务器中

(windows系统可使用xshell或者Putty登陆,Mac系统可直接使用terminal登陆,当然啦,你也可以直接在我们的腾讯云的控制台面板上直接进行VNC连接,本篇文章以腾讯云所提供的VNC控制台直接远程连接)


三.安装PostgreSQL数据库依赖

3.1 安装PostgreSQL依赖库

PostgreSQL数据库的安装需要预先安装一系列与之相关的软件到系统中,执行如下命令进行安装依赖

yum -y install readline-devel zlib-devel gcc gcc-c++ 

执行成功,如下图所示

3.2 下载解压PostgreSQL安装包

①执行如下命令下载PostgreSQL安装包

wget https://demo-1254274996.cos.ap-beijing.myqcloud.com/postgresql-10.3.tar.gz

执行成功,如下图所示

②执行如下命令进行解压压缩文件

tar -zxvf postgresql-10.3.tar.gz -C /opt/

执行成功,如下图所示

③执行如下命令进入到解压的目录

cd /opt/postgresql-*/

执行成功,如下所示

④执行如下命令配置编译安装环境

./configure --build=arm-linux --host=arm-linux --prefix=/usr/local/pgsql

执行成功,如下所示

⑤ 执行如下命令开始编译安装

make && make install && make clean

执行成功,如下图所示,至此PostgreSQL数据库安装完毕



四.配置运行环境

4.1 授权用户

  • 执行如下命令添加Postgres数据库用户和用户组
adduser postgres

执行完毕,如下所示

  • 执行如下命令将安装目录下的数据库授权给Postgres用户
chown -R postgres:postgres /usr/local/pgsql

执行完毕,如下所示

  • 执行如下指令进行查看
ls -ld /usr/local/pgsql

执行成功,如下所示

4.2 配置环境变量

  • 执行如下命令切换到postgres用户 (以后的指令都是在postgres用户下执行)
 su postgres

执行完毕,如下所示

  • 编辑.bash_profile 文件
vim ~/.bash_profile

执行成功,如下所示

按键盘的"a" ,“i”, "o"任意键进入编辑模式,在文档最后输入下代码,进行配置变量

export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data
export PATH=$PATH:$PGHOME/bin

执行成功,如下所示

按键盘上“Esc”键退出编辑模式,输入保存并退出当前编辑文件指令“:wq”,如图所示:

4.3 检验配置结果

  • 执行如下命令使其环境变量生效(生效以后可直接使用psql 命令,不用再输入其相关全路径)
source  ~/.bash_profile

执行完毕,如下所示:

  • 使用命令测试环境变量是否配置成功
psql -V

配置成功以后,会显示出PostgreSQL的数据库版本,如下图所示


五.运行数据库服务

5.1 初始化数据库

设置环境变量完成后,直接执行“initdb”即可完成pg数据库初始化,自动生成对应的相关目录文件

initdb

执行成功,如下所示

5.2 启动数据库服务

输入如下命令创建数据库日志文件路径

mkdir -p /usr/local/pgsql/log

执行成功,如下所示:

修改日志路径访问权限,赋予/usr/local/pgsql/log 目录拥有者有可读可写可执行权限

chmod 755 /usr/local/pgsql/log

执行成功,如下所示:

启动数据库:

pg_ctl -D $PGDATA  -l  $PGHOME/log/pg_server.log start

执行成功,如下所示:

5.3 检查启动结果

使用如下命令检查postgres的进程

ps -ef |grep "postgres"

执行成功,如下图所示:



六.修改数据库配置

修改Postgresql 数据库为可远程访问,用以提供数据存储服务

6.1 设置数据库密码

  • 执行下述命令,登陆到数据库
psql

执行成功,如下图所示:

  • 设置postgres数据库密码(此处要自行设置数据库密码哦)
\password postgres

执行成功, 如下所示

  • 退出当前数据库
\q

执行成功,如下所示

6.2 修改PostgreSQL数据库为可远程访问

修改postgreSQL数据库配置文件,配置PostgreSQL数据库可远程访问

vim /usr/local/pgsql/data/postgresql.conf

找到下列配置选项,在#listen_addresses = ‘localhost’ 处进行修改

将配置修改成如下所示

修改完毕以后,按:wq进行保存

保存成功,如下所示,已开启相关配置,这时候就可以远程操作连接PostgreSQL数据库啦~

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【玩转腾讯云】五.手把手教你用VNC搭建Ubuntu可视化界面(一)

    ②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

    一只特立独行的兔先生
  • 【玩转腾讯云】三.云端轻松构建部署WordPress网站应用

    ②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

    一只特立独行的兔先生
  • 【玩转腾讯云】一.半小时轻松搭建属于自己的Discuz论坛

    Discuz!是一套通用社区论坛软件系统,用户在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。

    一只特立独行的兔先生
  • 图数据库neo4j介绍(1)——基础

    基于数学里的图论的思想和算法而实现的高效处理复杂关系网络的新型数据库系统。 在社交网络、实时推荐、人工智能领域应用广泛。

    DC童生
  • jenkins构建时支持git选择分支

    易兒善
  • nRF5x系列蓝牙模块DFU升级服务移植 -- 3 烧写升级

    在Program softDevice中烧录协议栈hex文件,文件存放路径在F:\nRF5_SDK_15.0\components\softdevice\s13...

    DN
  • salesforce 数据导入

    3.使用谷歌插件(这个我就不说了 , 毕竟现在很多人都访问不到谷歌的应用商店 , 因此我们就先学会第一种即可 , 后期小编会更上的 ?).

    Zero--周
  • 批量单聊消息发送时,没有返回发送失败的账户和错误码,不回调

    我要向(“a”, "b")两个个用户发送批量单聊消息,如果a账户存在(已登录过IM或已导入),而b账户不存在,通过REST API发送,并没有返回b发送失败的信...

    用户6968426
  • day59-Django基础-配置功能模块+配置数据库

    但是在之前!!!大的标题第 4 步一定要做完!!!必须注册进 settings!!!

    少年包青菜
  • C语言之关键词记忆

    鲁郭大侠

扫码关注云+社区

领取腾讯云代金券