PostgreSQL基本操作
目录
1.源码安装PostgreSQL
1.1.前置条件(root下操作)
1.1.1.卸载yum安装的postgresql
1.1.2.创建postgres用户
1.1.3.安装部分依赖
1.1.4.源码安装uuid
1.2.安装PostgreSQL
1.2.1.使用postgres用户管理PostgreSQL
1.2.2.下载解压postgres12源码包
1.2.3.编译及安装
1.2.4.安装contrib工具
1.2.5.配置环境变量
1.2.6.初始化postgreSQL
1.3.PostgreSQL服务基本管理
1.3.1启动数据库
1.3.2停止数据库
1.3.3 重启数据库
1.3.4 查看数据库状态
2.psql基本使用
2.1.登录PostgreSQL数据库
2.2.断开psql客户端
2.3."?"查询PostgreSQL支持的所有命令
2.4."\l"查看所有数据库
2.5."\c"切换数据库
2.6."\d"看当前数据库中所有表、视图、序列
2.7."\d tablename"查看该表的表定义
2.8."\db"查看表空间的信息
2.9."\dn"查看所有的模式信息
2.10."\du"或”\dg"查看数据库中的所有角色或用户
2.11."\dt+ tablename"查看表大小
2.12."\di+"查看索引大小
2.13."\h 命令"查看SQL命令语法
2.14."\timing"显示SQL语句执行时间
2.15.“\x”可以把按行展示的数据变成按列展示
2.16.自动提交功能
2.17.查看数据库版本
1.源码安装PostgreSQL
1.1.前置条件(root下操作)
1.1.1.卸载yum安装的postgresql
#检查是否已经通过rpm安装postgresql数据库
rpm -qa|grep postgresql
# 卸载 包含postgresql名的程序包
yum remove postgresql*
# 删除postgres用户及其对应的用户目录(/home/postgres)
userdel -r postgres
# 检查是否存在 /usr/psqlXXX文件夹,有的话删除,例如
rm -rf /usr/pgsql-12
1.1.2.创建postgres用户
# 创建postgres用户
useradd postgres
# 为postgres用户设置密码
passwd postgres
1.1.3.安装部分依赖
yum install -y perl-ExtUtils-Embed python-devel bison flex readline-devel zlib-devel gcc gcc-c++ wget
1.1.4.源码安装uuid
wget ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz
tar -zxvf uuid-1.6.2.tar.gz
cd uuid-1.6.2
./configure
make && make install
1.2.安装PostgreSQL
1.2.1.使用postgres用户管理PostgreSQL
# 切换用户
su postgres
# 回到用户目录
cd ~
1.2.2.下载解压postgres12源码包
tar -zxvf postgresql-12.13.tar.gz
1.2.3.编译及安装
# 新建PostgreSQL安装路径下的文件夹(/data/opt/postgresql)
mkdir postgresql
# 进入解压后的源码文件夹(/home/postgres/postgresql-12.13)
cd postgresql-12.3
# 检查、并配置(--prefix=/data/opt/postgresql 为配置postgreSQL的安装路径)
./configure --prefix=/data/opt/postgresql --with-blocksize=32 --with-wal-blocksize=32 --with-wal-segsize=64
-–prefix 指定安装目录。
--with-perl
--with-python
--enable-thread-safety
--with-uuid=ossp
-–with-blocksize 以KB为单位设置block size。此为表中存储及I/O的单位。默认为8kb。值必须为2的1到32次方(kb),可选。
-–with-wal-blocksize 以kb为单位,设置WAL block size。此为WAL日志中存储及I/O的单位。默认为8kb。值必须为2的1到64次方(kb),可选。
-–with-wal-segsize 设置WAL段大小,以兆字节为单位。这是WAL日志中每个文件的大小。默认大小为16兆字节。该值必须是1到64(兆字节)之间的2的幂,可选。
注意:数据块、WAL日志块的大小需要在编译的时候配置才生效,对应此时编译出来的PostgreSQL程序创建的PostgreSQL数据库,不能使用其他块大小的PostgreSQL程序启动!!!
# 编译及安装
make && make install
1.2.4.安装contrib工具
cd postgresql-12.3/contrib
make && make install
1.2.5.配置环境变量
# 切换到用户根目录下(/home/postgres)
cd ~
# 编辑 .bash_profile
vi .bash_profile
# 修改为
# 新增
PGHOME=/data/opt/postgresql
PGDATA=/data/pgdata
PATH后追加 $PGHOME/bin
例如:PATH=$PATH:$PGHOME/bin
# 保存,退出(命令模式下Esc)
# 输入: wq! Enter(回车)
# 重载.bash_profile
source .bash_profile
1.2.6.初始化postgreSQL
# /data/pgdata为postgres数据文件的存放路径,如果环境变量已经配置PGDATA=/data/pgdata,则 -D /data/pgdata 参数可不加
initdb -D /data/pgdata
1.3.PostgreSQL服务基本管理
1.3.1启动数据库
# /data/pgdata为postgres数据文件的存放路径,里面也有一些配置文件,如果环境变量已经配置PGDATA=/data/pgdata,则 -D /data/pgdata 参数可不加
启动:pg_ctl -D /data/pgdata -l logfile start
1.3.2停止数据库
停止:pg_ctl -D /data/pgdata -l logfile stop [-m smart]
-m 用于指定数据库停止方式:
smart: smart模式等待所有客户端断开连接以及任何在线备份结束。如果该服务器是热备,一旦所有的客户端已经断开连接,恢复和流复制将被终止。
fast: fast模式(默认)不会等待客户端断开连接并且将终止进行中的在线备份。所有活动事务都被回滚并且客户端被强制断开连接,然后服务器被关闭。
immediate: immediate模式将立刻中止所有服务器进程,而不是做一次干净的关闭。这将导致下一次重启时进行一次崩溃恢复。
1.3.3 重启数据库
重启:pg_ctl -D /data/pgdata -l logfile restart
1.3.4 查看数据库状态
查看状态:pg_ctl -D /data/pgdata -l logfile status
2.psql基本使用
psql是PostgreSQL的一个命令行交互式客户端工具,它具有非常丰富的功能,类似于Oracle的命令行工具sqlplus。
2.1.登录PostgreSQL数据库
使用psql命令登录数据库,格式:psql -h 127.0.0.1 -p 5432 -U postgres -d postgres
-h后面的IP地址(192.168.1.210)是数据库所在的IP地址
-p后面的端口(5432)是数据库的监听端口
-U后面的参数(postgres)是创建的用户名
-d后面的参数(postgres)是创建的数据库名称
2.2.断开psql客户端
按Ctrl+D组合键 或输入命令:\q
2.3."?"查询PostgreSQL支持的所有命令
2.4."\l"查看所有数据库
2.5."\c"切换数据库
2.6."\d"看当前数据库中所有表、视图、序列
2.7."\d tablename"查看该表的表定义
2.8."\db"查看表空间的信息
2.9."\dn"查看所有的模式信息
2.10."\du"或”\dg"查看数据库中的所有角色或用户
2.11."\dt+ tablename"查看表大小
2.12."\di+"查看索引大小
2.13."\h 命令"查看SQL命令语法
2.14."\timing"显示SQL语句执行时间
再执行一次关闭
2.15.“\x”可以把按行展示的数据变成按列展示
2.16.自动提交功能
方法1:运行”begin”命令,然后执行DML语句,最后再执行commint或rollback预计
方法2:执行”\set AUTOCOMMIT off”关闭自动提交功能。AUTOCOMMINT必须是大小,小写无效也不报错。
2.17.查看数据库版本
方法1:psql –version
方法2:select version();
相关文章:

PostgreSQL基本操作
目录 1.源码安装PostgreSQL 1.1.前置条件(root下操作) 1.1.1.卸载yum安装的postgresql 1.1.2.创建postgres用户 1.1.3.安装部分依赖 1.1.4.源码安装uuid 1.2.安装PostgreSQL 1.2.1.使用postgres用户管理PostgreSQL 1.2.2.下载解压postgres12源码…...

hadoop 大数据环境配置 ssh免密登录 centos配置免密登录 hadoop(四)
1. 找到.ssh文件夹 cd ~ # 在.ssh文件夹下生成 # cd .ssh 2. 生成私钥公钥命令: ssh-keygen -t rsa3. 发送到需要免密机器: # hadoop23 是我做了配置。在host配置得机器ip和名称得映射 ssh-copy-id hadoop23 4. 成功...

Django 的国际化与本地化详解
概要 随着全球化的发展,为 Web 应用提供多语言支持变得日益重要。Django 作为一个功能强大的 Web 框架,提供了一套完整的国际化(i18n)和本地化(l10n)工具,使得开发多语言应用变得简单。本文将详…...

Java19新增特性
前言 前面的文章,我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15、Java16、Java17、Java18 的特性进行了介绍,对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特…...

[文件读取]metinfo_6.0.0 任意文件读取漏洞复现
1.1漏洞描述 漏洞编号--漏洞类型文件读取漏洞等级⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐漏洞环境windows漏洞名称MetInfo 6.0.0 任意文件读取漏洞 MetInfo 是一套使用PHP 和MySQL 开发的内容管理系统。MetInfo 6.0.0 版本中的 /app/system/include/module/old_thumb.class.php 文件存在任意文件…...
[量化投资-学习笔记015]Python+TDengine从零开始搭建量化分析平台-量化知识点汇总
之前的章节介绍了多个技术分析指标,以下进行一个简单的总结。 看过之前章节的同学就可以不用打开了。 技术指标 MAEMAMACDCCIATRKDJ MA 最基础的技术指标,对一段周期内的收盘价进行简单平均,是一切指标的基础。 def calc_ma(period,ma):ma_…...

VSCode 好用的插件分享
文章目录 Introlistcode runner 【在文本编辑器中编辑好各类语言的源代码,然后一键运行】gitlens - 【git提交信息即时查看,类似IDEA中的 show annotation】还有更多,会日常补充。 Intro 大四毕业前,我只有一台dell latitude 455…...
C++虚基类详解
多继承(Multiple Inheritance) 是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名冲突就是不可回避的一个。…...

Mac M2/M3 芯片环境配置以及常用软件安装-前端
最近换了台新 Mac,所有的配置和软件就重新安装下,顺便写个文章。 一、环境配置 1. 安装 Homebrew 安装 Homebrew【Mac 安装 Homebrew】 通过国内镜像安装会比较快 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Ho…...

Karmada更高效地实现故障转移
随着云原生技术的发展,其应用场景不断扩大。越来越多的企业开始将应用程序部署在 Kubernetes 集群中,随着 Kubernetes 集群规模的不断扩大,也带来了许多管理挑战,例如多集群间负载均衡、资源调度、故障转移等问题。为了解决这些问…...

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(四)
你可以的,去飞吧! 同步代码和异步代码 回调函数地狱和 Promise 链式调用 回调函数地狱 缔造“回调地狱”↓ 制造里层回调错误,却在最外层接收错误→无法捕获 axios源码抛出异常(未捕获) <!DOCTYPE html> <ht…...

TechSmith Camtasia 2024破解版功能介绍及使用教程
在现在的网络互联网时代,越来越多的人走上了自媒体的道路。有些自媒体人会自己在网络上录制精彩视频,也有一些人会将精彩、热门的电影剪辑出来再加上自己给它的配音,做成大家喜欢看的电影剪辑片段。相信不管大家是自己平时有独特的爱好也好、…...

【无线网络技术】——无线传输技术基础(学习笔记)
目录 🕒 1. 无线传输媒体🕘 1.1 地面微波🕘 1.2 卫星微波🕘 1.3 广播无线电波🕘 1.4 红外线🕘 1.5 光波 🕒 2. 天线🕘 2.1 辐射模式🕘 2.2 天线类型🕤 2.2.1 …...

【Liunx】部署WEB服务:Apache
【Liunx】部署WEB服务:Apache 概述Apache1.介绍2.Apache文件路径3.Apache详解(1)安装Apache(2)启动Apache(3)配置文件a.Apache主配置文件:vim /etc/httpd/conf/httpd.conf信息:b.基于主机头的虚拟主机 (4)开始演示:a.新建两个网站根目录b.分别…...

数字媒体技术基础之:常见图片文件格式
在数字图像处理和图形设计领域,了解不同的图片文件格式及其特点是至关重要的。每种格式都有其独特的用途和优势。以下介绍一些最常见的图片文件格式。 JPEG Joint Photographic Experts Group 扩展名:.jpg 或 .jpeg 特点: 1、有损压缩&#x…...

2023-2024-2 高级语言程序设计-二维数组
7-1 矩阵运算 给定一个nn的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。 输入格式: 输入第一行给出正整数n(1<n≤10);随后n行,每行给出…...

【uniapp】确认弹出框,选择确定和取消
代码如下: <view style"display: flex; justify-content: space-around;"><button class"button" click"submit">t提交</button> </view>submit(){let thatthisuni.showModal({title: 提示:,con…...

阿里云容器镜像服务的运维总结
一、背景 容器镜像服务,作为一个可选付费产品,主要作用是存储docker的镜像仓库,供k8s拉取到Pod节点里。 你可以自己搭建一个harbor镜像仓库,在公司的开发环境下,将image推送到仓库;然后在生产k8s从仓库拉取…...

修炼k8s+flink+hdfs+dlink(七:flinkcdc)
一 :flinkcdc官网链接。 https://ververica.github.io/flink-cdc-connectors/release-2.1/content/about.html 二:在flink中添加jar包。 在flink lib目录下增加你所需要的包。 https://kdocs.cn/join/gv467qi?f101 邀请你加入共享群「工作使用重要工具…...
排查问题流程
1、问题定义和描述: 确定问题的性质、表现和影响。 收集和整理相关的问题描述和报告。 2、问题复现: 尝试在适当的环境中重现问题。 确定问题发生的条件、步骤和触发器。 3、问题分析: 收集和分析相关的日志、错误消息或警报。 使用适当的工…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...

快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...