TencentOS Server 安装 PostgreSQL
TencentOS 简介
2019
年,随着腾讯公司外部客户的需求,以及公司开源协同战略的推进,tlinux
对外开源并进行了品牌升级,升级为 TencentOS Server
。TencentOS
包含三大场景,分别如下:
TencentOS Server
,即服务器OS,简称TS
;TencentOS Tiny
,即物联网OS,简称TT
;TencentOS Edge
,即边缘OS,简称TE
;
参考:TencentOS 相比 CentOS 不同点在哪?
关于 TencentOS Server
TencentOS Server 是腾讯公司自主研发的定制化服务器操作系统。该系统集成了众多服务
器系列的优点,加入自主研发的软件,便于用户操作使用,提供全方位(内核及用户态)的
操作系统支持。
视频介绍=> TencentOS Server–为云而生的腾讯第三代服务器操作系统
系统特点:安全、易用、稳定、快速、长久支持。安装镜像提供了服务器常用的各种软件支持,同时可以使用线上软件源安装及更新软件。此说明适用于 Tencent OS Server 2.4 发行版与 3.1 发行版的安装与使用,本文中以 Tencent OS Server 3.1
环境为例,讲解 PostgreSQL 13.x
版本的安装。
前提条件
为了安装软件包,你需要以 root
或者其他有 sudo
权限的用户身份登录系统。
安装步骤
2.1 列出可用的 PostgreSQL 模块
dnf module list postgresql
输出结果显示,postgresql 有4个版本。每个版本都有两个部分:服务器和客户端。 服务器版本 10,是默认的版本:
[root@TENCENT64 ~]# dnf module list postgresql
Last metadata expiration check: 0:01:22 ago on Fri 28 Jan 2022 05:14:05 PM CST.
TencentOS Server 3.1 - AppStream
Name Stream Profiles Summary
postgresql 9.6 client, server [d] PostgreSQL server and client module
postgresql 10 [d] client, server [d] PostgreSQL server and client module
postgresql 12 client, server [d] PostgreSQL server and client module TencentOS Server 3.1 - TencentOS-AppStream
Name Stream Profiles Summary
postgresql 9.6 client, server [d] PostgreSQL server and client module
postgresql 10 [d] client, server [d] PostgreSQL server and client module
postgresql 12 client, server [d] PostgreSQL server and client module
postgresql 13 [e] client, server [d] [i] PostgreSQL server and client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
2.2 安装服务器版本 13,输入:
sudo dnf install @postgresql:13
2.3 你可能还想安装 contrib 包,它们给 PostgreSQL 数据库提供一些额外的特性:
sudo dnf install postgresql-contrib
2.4 一旦安装完成,使用下面的命令初始化 PostgreSQL 数据库:
sudo postgresql-setup initdb
...
Initializing database ... OK
可能输出如下提示信息:
[root@TENCENT64 /]# sudo postgresql-setup initdb
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql* Initializing database in '/var/lib/pgsql/data'* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
查看 pgsql
初始化日志信息:
vim /var/lib/pgsql/initdb_postgresql.log
initdb_postgresql.log
日志信息:
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 "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".Data page checksums are disabled.fixing permissions on existing directory /var/lib/pgsql/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... okSuccess. You can now start the database server using:/usr/bin/pg_ctl -D /var/lib/pgsql/data -l logfile start
2.5 启动 PostgreSQL 服务,并且启用开机启动 PostgreSQL 服务。
sudo systemctl enable --now postgresql
2.6 验证安装结果,使用 psql 工具连接 PostgreSQL 数据库服务器并且打印它的版本号。
sudo -u postgres psql -c "SELECT version();"
输出如下信息:
[root@TENCENT64 ~]# sudo -u postgres psql -c "SELECT version();"
could not change directory to "/root": Permission denied version
------------------------------------------------------------------------------------------------------------PostgreSQL 13.3 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1), 64-bit
(1 row)
PostgreSQL 角色和身份认证方法
PostgreSQL 支持多种身份认证方法。最常用的方法如下:trust、password、ident、peer
auth-method :指定当一个连接匹配这个记录时,要使用的认证方法。
更多详细请查看 => https://www.w3cschool.cn/postgresql13_1/postgresql13_1-z9af3jew.html
- trust:无条件地允许连接。允许任何可以与PostgreSQL数据库服务器连接的用户以他们期望的任意 PostgreSQL 数据库用户身份登入,而不需要口令或者其他任何认证。
- reject:无条件地拒绝连接。这有助于从一个组中“过滤出”特定主机,例如一个reject行可以阻塞一个特定的主机连接,而后面一行允许一个特定网络中的其余主机进行连接。
- scram-sha-256:执行SCRAM-SHA-256认证来验证用户的口令。
- md5:要求客户端提供一个 md5加密的口令进行认证,这个方法是允许加密口令存储在 pg_shadow 里的唯一的一个方法。
- password:要求客户端提供一个未加密的口令进行认证。因为口令是以明文形式在网络上发送的,所以我们不应该在不可信的网络上使用这种方式。
- gss:用 GSSAPI 认证用户。只对 TCP/IP 连接可用。它可以与 GSSAPI 加密一起结合使用。
- sspi:用 SSPI 来认证用户。只在 Windows 上可用。
- ident:通过联系客户端的 ident 服务器获取客户端的操作系统名,并且检查它是否匹配被请求的数据库用户名。Ident 认证只能在 TCIP/IP 连接上使用。当为本地连接指定这种认证方式时,将用 peer 认证来替代。
- peer:通过从内核获得客户端的操作系统用户名并把它用作被允许的数据库用户名(和可选的用户名映射)来工作。和 Ident 一样,这种方法只在本地连接上支持。
- ldap:使用LDAP服务器认证。
- radius:用 RADIUS 服务器认证。
- cert:使用 SSL 客户端证书认证。
- pam:使用操作系统提供的可插入认证模块服务(PAM)认证。
- bsd:使用由操作系统提供的 BSD 认证服务进行认证。
PostgreSQL 客户端身份验证(访问控制)通常被定义在 pg_hba.conf
文件中。默认情况下,对于本地连接,PostgreSQL 被设置成身份认证防范 peer。
为了以 postgres 用户身份登录 PostgreSQL 服务器,首先切换用户,然后使用 psql
工具访问 PostgreSQL。
sudo su - postgres
psql
或者使用 sudo
命令访问 PostgreSQL:
sudo -u postgres psql
注意:postgres
用户仅仅在本地被使用。
创建 PostgreSQL 角色和数据库
说明:仅仅超级用户和拥有 CREATEROLE 权限的角色可以创建新角色。
举例:我们创建一个名称为 chait
的角色,一个名称为 chaitdb
的数据库,并且授予该数据库上的权限。
# 4.1 连接到 PostgreSQL shell
sudo -u postgres psql
# 4.2 创建一个新的 PostgreSQL 角色
create role chait
# 4.3 创建一个新的数据库
create database chaitdb
# 4.4 通过下面的查询语句,授予用户在数据库上的所有权限
grant all privileges on database chaitdb to chait
启用远程访问 PostgreSQL 服务器
说明:默认情况下,PostgreSQL 服务器仅仅监听本地网络接口:127.0.0.1。
为了允许远程访问你的 PostgreSQL 服务器,打开配置文件:
# 查找 postgresql.conf 位置
sudo find postgresql.conf
# 编辑 postgresql.conf 文件
sudo vim /var/lib/pgsql/data/postgresql.conf
/CONNECTIONS AND AUTHENTICATION
往下滑动到 CONNECTIONS AND AUTHENTICATION
部分,并且添加或者编辑下面的行:
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
保存文件,并且使用下面的命令重启 PostgreSQL 服务:
:wq!sudo systemctl restart postgresql
使用 ss
工具来验证这个修改:
[root@TENCENT64 /]# ss -nlt | grep 5432
LISTEN 0 244 0.0.0.0:5432 0.0.0.0:*
LISTEN 0 244 [::]:5432 [::]:*
上面的输出显示 PostgreSQL 服务器已经在监听所有网络接口(0.0.0.0)的默认端口。
最后一步是,通过编辑 pg_hba.conf
文件,配置服务器去接受远程连接。下面是一些例子,展示了不同的用户示例:
[root@TENCENT64 /]# ls /var/lib/pgsql/data
base log pg_hba.conf pg_multixact pg_serial pg_stat_tmp pg_twophase pg_xact postmaster.opts
current_logfiles pg_commit_ts pg_ident.conf pg_notify pg_snapshots pg_subtrans PG_VERSION postgresql.auto.conf postmaster.pid
global pg_dynshmem pg_logical pg_replslot pg_stat pg_tblspc pg_wal postgresql.conf
[root@TENCENT64 /]# sudo vim /var/lib/pgsql/data/pg_hba.conf
pg_hba.conf
默认配置如下:
# TYPE DATABASE USER ADDRESS METHOD# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
修改为如下:
# TYPE DATABASE USER ADDRESS METHOD# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 0.0.0.0/0 trust
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the replication privilege.
local replication all peer
host replication all 0.0.0.0/0 trust
host replication all ::1/128 ident
最后我们用 DBeaver
客户端工具访问链接测试下,如下所示:
总结
tlinux 3.1
是基于 RedHat-CentOS-Release
的发行版,默认支持 PostgreSQL
的 9.6/10/12/13
版本,内核信息查看如下:
WARNING! The remote SSH server rejected X11 forwarding request.
Welcome to TencentOS 3 64bit
Version 3.1 20211028
Last login: Fri Jan 28 17:13:06 2022 from 192.168.10.251
[root@TENCENT64 ~]# uname -a
Linux TENCENT64.site 5.4.119-19-0008 #1 SMP Mon Sep 13 14:54:39 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@TENCENT64 ~]# cat /etc/redhat-release
CentOS Linux release 8.4.2105 (Core)
[root@TENCENT64 ~]#
关于 PostgreSQL
更多版本安装信息,请查看 => https://www.postgresql.org/docs/14/index.html
相关文章:
TencentOS Server 安装 PostgreSQL
TencentOS 简介 2019 年,随着腾讯公司外部客户的需求,以及公司开源协同战略的推进,tlinux 对外开源并进行了品牌升级,升级为 TencentOS Server。TencentOS 包含三大场景,分别如下: TencentOS Server&…...
多线程的风险 --- 线程安全
✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 ✨每日一语:低头赶路,敬事如仪;自知自心,其路则明。 目 录🍸一. 线程不安全🍹二. 线程不安全的原因…...
Linux信号详解
文章目录Linux信号什么是信号**从生活角度理解: **技术应用角度的信号进程的注意事项信号概念用kill -l命令可以察看系统定义的信号列表信号处理常见方式概览信号产生通过终端按键产生信号使用signal函数自定义SIGINT信号的处理方式使用sigprocmask函数阻塞2号信号和40号信号vo…...
JAVA使用POI操作EXCEL
设置公式totalRow.createCell(4).setCellFormula("SUM(E9:E35");// 执行公式wb.setForceFormulaRecalculation(true);合并单元格sheet.addMergedRegion(new CellRangeAddress(0, 0, 3, 7));单元格格式CellStyle cellStyle wb.createCellStyle();// 字体XSSFFont fon…...
只做笔记有必要买apple pencil吗?苹果笔的代替笔推荐
如果仅仅使用IPAD来进行打游戏和看剧的话,未免有些浪费。ipad的作用还是挺大的,可以用来做学习笔记,也可以用来做绘画,也可以用来做一些重要的内容。很多人都会认为,苹果的电容笔很好用,但是价格上要比一般…...
Hive---sqoop安装教程及sqoop操作
sqoop安装教程及sqoop操作 文章目录sqoop安装教程及sqoop操作上传安装包解压并更名添加jar包修改配置文件添加sqoop环境变量启动sqoop操作查看指定mysql服务器数据库中的表在hive中创建一个teacher表跟mysql的mysql50库中的teacher结构相同将mysql中mysql50库中的sc数据导出到h…...
【C++】register 关键字
文章目录一. 什么是寄存器?二. 为什么要存在寄存器?三. register 修饰变量一. 什么是寄存器? 我们都知道,CPU主要是负责进行计算的硬件单,但是为了方便运算,一般第一步需要先把数据从内存读取到CPU内&…...
剑指 Offer II 024. 反转链表
题目链接 剑指 Offer II 024. 反转链表 easy 题目描述 给定单链表的头节点 head,请反转链表,并返回反转后的链表的头节点。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:h…...
从Linux内核中学习高级C语言宏技巧
Linux内核可谓是集C语言大成者,从中我们可以学到非常多的技巧,本文来学习一下宏技巧,文章有点长,但耐心看完后C语言level直接飙升。 本文出自:大叔的嵌入式小站,一个简单的嵌入式/单片机学习、交流小站 从…...
详解Python的装饰器
Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里。 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数。 def say_hello():print "hello!"def say_goodbye():print "hello!" # bug hereif…...
k8s-Pod域名学习总结
k8s-Pod域名学习总结 大纲 k8s内置DNS服务 配置Pod的域名服务 CornDNS配置 默认Pod的域名 自定义Pod的域名 实战需求 1 Pod有自己的域名 2 集群内部的Pod可以通过域名访问其他的Pod 基础准备: 1 k8s 集群版本1.17 k8s内置DNS服务 k8s1.17安装完成后自动创建…...
0405习题总结-不定积分
文章目录1 不定积分的基本概念2 直接积分法-基本积分公式3 第一换元法-凑微分形式法4 第二类换元法5 分部积分求不定积分6 表格法积分7 有理函数求积分后记1 不定积分的基本概念 例1 f(x){x1,x≥012e−x12,x<0求∫f(x)dxf(x) \begin{cases} x1,\quad x\ge0\\ \frac{1}{2}e^…...
QT 常用控件类型命名参考
拟定的QT的控件命名规则:蛇形命名方式 控件类型开头,以下是QT控件类型命名的参考范例 Buttons Buttons起始字符串对象名称举例Push Buttonbuttonbutton_loginTool Buttontool_button / buttonbutton_switchRadio Buttonradio_button / radioradio_boy…...
MATLAB与图像处理的那点小事儿~
目录 一、学习内容 二、matlab基本知识 三、线性点运算 四、非线性点运算,伽马矫正 五、直方图 1、直方图均衡化 (1)使用histep函数实现图像均衡化 (2)使用自行编写的均衡化函数实现图像均衡化 2、直方图规定…...
第十四届蓝桥杯模拟赛(第三期)Java组个人题解
第十四届蓝桥杯模拟赛(第三期)Java组个人题解 今天做了一下第三期的校内模拟赛,有些地方不确定,欢迎讨论和指正~ 文章目录第十四届蓝桥杯模拟赛(第三期)Java组个人题解填空题部分第一题【最小数】第二题【E…...
Go语言之条件判断循环语句(if-else、switch-case、for、goto、break、continue)
一、if-else条件判断语句 Go中的if-else条件判断语句跟C差不多。但是需要注意的是,Go中强制规定,关键字if和else之后的左边的花括号"{“必须和关键字在同一行,若使用了else if结构,则前段代码快的右花括号”}"必须和关…...
深入理解AQS
概念设计初衷:该类利用 状态队列 实现了一个同步器,更多的是提供一些模板方法(子类必须重写,不然会抛错)。 设计功能:独占、共享模式两个核心,state、Queue2.1 statesetState、compareAndSetSta…...
JVM学习笔记十:执行引擎
0. 前言 声明: 感谢尚硅谷宋红康老师的讲授。 感谢广大网友共享的笔记内容。 B站:https://www.bilibili.com/video/BV1PJ411n7xZ 本文的内容基本来源于宋老师的课件,其中有一些其他同学共享的内容,也有一些自己的理解内容。 1. …...
【2023-03-10】JS逆向之美团滑块
提示:文章仅供参考,禁止用于非法途径 前言 目标网站:aHR0cHM6Ly9wYXNzcG9ydC5tZWl0dWFuLmNvbS9hY2NvdW50L3VuaXRpdmVsb2dpbg 页面分析 接口流程 1.https://passport.meituan.com/account/unitivelogin主页接口:需获取下面的参数࿰…...
全志V853芯片放开快启方案打印及在快起方式下配置isp led的方法
全志V85x芯片 如何放开快启方案的打印? 1.主题 如何放开快启方案的打印 2.问题背景 产品:v851系列快启方案 软件:tina 其他:特有版本信息添加自由描述 (如固件版本,复现概率,特定环境&#x…...
大数据 | (一)Hadoop伪分布式安装
大数据原理与应用教材链接:大数据技术原理与应用电子课件-林子雨编著 Hadoop伪分布式安装借鉴文章:Hadoop伪分布式安装-比课本详细 大数据 | (二)SSH连接报错Permission denied:SSH连接报错Permission denied 哈喽&a…...
Django/Vue实现在线考试系统-06-开发环境搭建-Django安装
1.0 基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(…...
KaiwuDB 时序引擎数据存储内存对齐技术解读
一、理论1、什么是内存对齐现代计算机中内存空间都是按照 byte 划分的,在计算机中访问一个变量需要访问它的内存地址,从理论上看,似乎对任何类型的变量的访问都可以从任何地址开始。但在实际情况中,通常在特定的内存地址才能访问特…...
IR 808 Alkyne,IR-808 alkyne,IR 808炔烃,近红外吲哚类花菁染料
【产品理化指标】:中文名:IR-808炔烃英文名:IR-808 alkyne,Alkyne 808-IR CAS号:N/AIR-808结构式:规格包装:10mg,25mg,50mg,接受各种复杂PEGS定制服务&#x…...
elasticsearch
这里写目录标题1.初识ElasticSearch1.1 了解ES1.2 倒排索引1.2.1 正向索引1.2.2 倒排索引1.2.3 正向和倒排1.3 ES的一些概念1.3.1 文档和字段1.3.2 索引和映射1.3.3 mysql和elasticsearch1.4 安装ES、kibana1.初识ElasticSearch 1.1 了解ES elasticsearch是一款非常强大的开源…...
并发编程---java锁
java锁一 多线程锁synchronized案例分析1.1synchronized介绍1.2 synchronized案例分析1.2.1.标准访问,请问先打印邮件还是短信?1.2.2.邮件⽅法暂停4秒钟,请问先打印邮件还是短信?分析1.2.3.新增⼀个普通⽅法hello(&…...
品牌营销 | 学习如何最大限度地发挥品牌营销的作用
您是否想过如何最大限度地发挥品牌营销的潜力?这是一项艰巨的挑战,通过了解品牌营销的基本组成部分,您可以成功地推广您的品牌。 (图源:Pixabay) 品牌营销的基本组成部分 你需要做什么来发展稳固的品牌&am…...
Linux驱动的同步阻塞和同步非阻塞
在字符设备驱动中,若要求应用与驱动同步,则在驱动程序中可以根据情况实现为阻塞或非阻塞一、同步阻塞这种操作会阻塞应用程序直到设备完成read/write操作或者返回一个错误码。在应用程序阻塞这段时间,程序所代表的进程并不消耗CPU的时间&…...
LearnOpenGL-光照-5.投光物
本人刚学OpenGL不久且自学,文中定有代码、术语等错误,欢迎指正 我写的项目地址:https://github.com/liujianjie/LearnOpenGLProject 文章目录投光物平行光点光源聚光不平滑的例子平滑例子投光物 前面几节使用的光照都来自于空间中的一个点 即…...
【C语言】每日刷题 —— 牛客语法篇(1)
前言 大家好,今天带来一篇新的专栏c_牛客,不出意外的话每天更新十道题,难度也是从易到难,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解。 🏡个人主页:悲伤的猪大…...
APP网站开发私人订制/优化大师电脑版官方
路由只用来接收请求 目前我们大致了解了laravel,在开始一个Http程序需要先定义路由。之前的例子中,我们的业务逻辑都是在路由里实现的,这对于简单的网站或web应用没什么问题,当我们需要扩大规模,程序变得复杂ÿ…...
长春做高端网站公司/5月新冠病毒最新消息
------- android培训、 java培训、期待与您交流! ---------- jdk1.5以后提供的一个新特性:注解。 这个知识点很重要。 1.接下来,我们演示: 提示语:The method runFinalizersOnExit(boolean) from the type System i…...
大连公路建设有限公司网站/郑州网站seo优化
python算法-0排序-1选择排序在线运行: https://pyleetcode.gitee.io/codes_html/SYL_0%E6%8E%92%E5%BA%8F_1%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F.html n^2遍历,每遍历一轮选择一个最小/大值, 然后与当前位替换,最终得到排序结…...
做旅游攻略的网站/网站建设与维护
由于代码生成器已经生成了相应的采购需求列表接口,如下: 所以直接修改其调用接口的实现类PurchaseDetailServiceImpl对应方法的逻辑,加上筛选条件即可,如下: Overridepublic PageUtils queryPage(Map<String, Objec…...
wordpress 小工具 css/搜索优化整站优化
DATEPART 返回代表指定日期的指定日期部分的整数。 语法 DATEPART ( datepart , date ) 参数 datepart 是指定应返回的日期部分的参数。下表列出了 Microsoft SQL Server™ 识别的日期部分和缩写。 日期部分缩写yearyy, yyyyquarterqq, qmonthmm, mdayofyeardy, ydaydd, dweek…...
石家庄做网站公司汉狮价格/写软文的平台有哪些
一、基础知识1、主要的数据库类型层次型数据库早期的数据库类型网状数据库关系型数据库对象-关系型图片存放路径,大段文本存放指针2. sqllit关系数据库接口,仅提供API。非c/s架构,也是关系型数据库。客户端与服务器端在一起,本地调…...