Linux环境中对Postgrel数据库的安装与配置

news2025/1/10 6:27:24

一、环境准备

linux操作系统的环境是centos7;

Postgrel数据库的版本是12.0,不同版本的下载渠道如下(PostgreSQL: File Browser):

可以看到压缩包是比较小的;下载之后,上传到你的linux环境中即可。

二、安装所需要的依赖

2.1准备依赖

yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel

注意:这里因为cenos7已经不再继续维护,所以所需要的依赖可能会下载失败,这需要重新配置yum源,换成aliyun的镜像,应该能下载成功(这是我的重新编辑yum源的过程:centos7在使用yum源安装依赖时报错_centos7安装源出错-CSDN博客);

所需的依赖被下载安装成功;

2.2接着就是解压安装包

tar -zxvf postgresql-12.0.tar.gz

解压之后的文件夹内容如下:

三、配置安装

安装包解压之后的文件夹里面有configure的可执行文件,执行如下操作(后面的这个路径可以改成自己的风格,也可不改):

3.1自动配置

./configure --prefix=/opt/pgsql/postgresql

3.2编译

make

3.3编译安装

make install

3.4创建用户

#添加用户组
groupadd postgres

#添加用户
useradd -g postgres postgres

然后就是在你的安装目录下面创建一个存放数据文件的文件夹,我这里叫data

mkdir data

并给改数据文件夹授权

chown postgres:postgres data

3.5修改配置文件

接着是切换到home下进入到postgres下:

cd postgres/

对文件.bash_profile进行编辑:

vim .bash_profile

 添加如下配置:

#PostGrel
export PGHOME=/opt/pgsql/postgresql

export PGDATA=/opt/pgsql/postgresql/data

PATH=$PATH:$HOME/bin:$PGHOME/bin

保存退出;

接着执行如下命令,使其生效即可

source .bash_profile

然后切换到postgres用户下,初始化数据库

su - postgres

initdb

在初始化之后,我们的data文件夹里面就有了一些必要的文件,紧接着修改两个配置文件:

vim postgresql.conf

这个参数listen_addresses原来是被注释掉的,但是如果想从其他的机器来访问该服务器上的pg数据库,就需要将该参数启用,并将里面的localhost换为*

保存并退出;

vim pg_hba.conf

新增这一行才能使局域网来访问:

host    all            all             0.0.0.0/0               trust

保存并退出;

3.6配置自启动

在解压的安装包中,进入到如下文件夹中:

授权:

chmod a+x linux

然后将这里的linux复制到/etc/init.d中,并改名

cp linux /etc/init.d/postgresql

编辑该文件:

vim /etc/init.d/postgresql

修改这两个参数,换成自己的

修改后:

保存退出;

接着执行如下命令:

chkconfig --add postgresql

启动pg服务:

service postgresql start

查看服务进程:

四、简单使用

(1)直接进入到命令行下:

(2)也可以通过如下方式进入命令行:

psql -h <hostname or ip> -p <端口> [数据库名称] [用户名称]

 4.1常用命令

 注意:psql 的命令都是以斜杠 "\" 开头的。

  (1)   \l  查看所有数据库

(2)\d [ pattern ] 该命令将显示每个匹配关系(表、视图、索引、序列)的信息,可以加上 + 查看更多的信息,如 \d+

不加任何参数表示查看当前数据库的所有表。

 \d tablename 后面跟一个表名,表示显示这个表的结构定义

\d indexname 也可以显示索引的信息,如 \d 索引名称

\d * 后面也可以跟通配符如 "*" 或 "?",\d x*

\d+ 将显示比 \d 更详细的信息,还会显示任何与表关系的注释,以及表中出现的 OID 

\dt 只显示匹配的表  

\di 只显示索引

 \ds  只显示序列

\dv 只显示视图

\df 只显示函数

(3) \timing on或off 显示 SQL 已执行的时间,默认情况下是 off

(4)\dn 列出所有的 schema 

(5)\du 或 \dg 列出所有的数据库用户和角色

(6)\db 显示所有的表空间,表空间其实是一个目录,放在这个表空间的表,就是把表的数据文件发到这个表空间下。

(7)\dp 或 \z 显示表的权限分配情况

(8)\encoding 指定客户端的字符编码,如 \encoding UTF8; 

(9)\pset 设置输出的格式,\pset border 0 : 表示输出内容无边框。 border 1 :表示边框只在内部。border 2 :内外都有边框

(10)\x 把表中的每一行的每列数据都拆分为单行展示,与 MySQL 中的 "\G" 的功能类似。

(11)\echo 用于输出一行信息,通常用于在 .sql 文件中输出一些提示信息。 

(12)\password 设置密码

(13)\conninfo 列出当前数据库连接的信息

(14)\dx 查看数据库中安装的扩展 或 select * from pg_extension;

4.2执行存储在外部文件中的 SQL 命令

(1)\i <文件名> 执行存储在外部文件中的 sql 语句

(2)当然也可以在 psql 命令行加 "-s <filename>" 来执行 SQL 脚本文件中的命令,如 psql -s test.sql

4.3psql 的使用技巧和注意事项

(1)在启动 psql 命令后中加 "-E" 参数,就可以把 psql 中各种以 "\" 开头的命令执行的实际 SQL 打印出来,如下 psql -E postgres,如果想关闭此功能,可以使用 "\set ECHO_HIDDEN on | off"

(2)自动提交方面的技巧

psql 中的事务是自动提交的,可以运行 begin; 然后执行 dml 语句,最后再执行 commit 或 rollback 语句。或 直接使用 psql 中的命令关闭自动提交的功能。 \set AUTOCOMMIT off

(3)查看数据库、表、索引大小

select pg_size_pretty(pg_table_size('test'));   
select pg_size_pretty(pg_database_size('david'));
select pg_size_pretty(pg_indexes_size('test'));
完结。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2274189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《零基础Go语言算法实战》【题目 1-11】格式化字符串

《零基础Go语言算法实战》 【题目 1-11】格式化字符串 在 Go 语言中&#xff0c;找到使用变量格式化字符串而不打印值的简单方法。 【解答】 在 Go 语言中&#xff0c;在不打印值的情况下进行格式化的最简单方法是使用 fmt.Sprintf() 函数&#xff0c; 它返回一个格式化的…

【机器视觉】OpenCV 图像轮廓(查找/绘制轮廓、轮廓面积/周长、多边形逼近与凸包、外接矩形)

OpenCV官网 7. 图像轮廓 7.1 什么是图像轮廓 图像轮廓是具有相同颜色或灰度的连续点的曲线. 轮廓在形状分析和物体的检测和识别中很有用。 轮廓的作用: 用于图形分析物体的识别和检测 注意点: 为了检测的准确性&#xff0c;需要先对图像进行二值化或Canny操作。画轮廓时…

Elasticsearch:使用 Playground 与你的 PDF 聊天

LLMs作者&#xff1a;来自 Elastic Toms Mura 了解如何将 PDF 文件上传到 Kibana 并使用 Elastic Playground 与它们交互。本博客展示了在 Playground 中与 PDF 聊天的实用示例。 Elasticsearch 8.16 具有一项新功能&#xff0c;可让你将 PDF 文件直接上传到 Kibana 并使用 Pla…

RabbitMQ 在 Spring Boot 项目中的深度应用与实战解析

RabbitMQ 在 Spring Boot 项目中的深度应用与实战解析 引言 RabbitMQ 作为一款广受欢迎的开源消息队列系统&#xff0c;遵循 AMQP 协议&#xff0c;能够在分布式系统里实现应用程序之间的异步通信、解耦以及流量削峰等关键功能。在 Spring Boot 项目中集成 RabbitMQ&#xff…

简述视觉语言模型(Vision-Language Models, VLMs)

目录 1. 引言 2. 视觉语言模型的基本概念 什么是视觉语言模型 视觉语言模型的工作原理 3. 视觉语言模型的架构 双流神经网络结构 多模态对齐机制 跨模态注意力机制 统一架构&#xff1a;视觉-语言一体化模型 4. 视觉语言模型的关键技术 图像表示学习 文本表示学习 …

分治算法——优选算法

本章我们要学习的是分治算法&#xff0c;顾名思义就是分而治之&#xff0c;把大问题分为多个相同的子问题进行处理&#xff0c;其中我们熟知的快速排序和归并排序用的就是分治算法&#xff0c;所以我们需要重新回顾一下这两个排序。 一、快速排序&#xff08;三路划分&#xf…

迎接2025Power BI日期表创建指南:模板与最佳实践

故事背景 最近&#xff0c;我们收到了一些关于时间表更新的询问。询问的朋友发现&#xff0c;随着2025年的到来&#xff0c;2024年的日期表已不再适用。这是一个在数据分析领域常见的问题&#xff0c;每年都需要对日期表进行更新。 解决方案 鉴于创建和更新日期表是一项年度…

Trilium Notes中文版本地Docker部署与远程访问打造个人云知识库

文章目录 前言1. 安装docker与docker-compose2. 启动容器运行镜像3. 本地访问测试4.安装内网穿透5. 创建公网地址6. 创建固定公网地址 前言 今天和大家分享一款在G站获得了26K的强大的开源在线协作笔记软件&#xff0c;Trilium Notes的中文版如何在Linux环境使用docker本地部署…

【读书与思考】历史是一个好东西

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 导言 以后《AI日记》专栏我想专注于 AI 相关的学习、成长和工作等。而与 AI 无关的一些读书、思考和闲聊&#xff0c;我打算写到这里&#xff0c;我会尽量控制自己少想和少写。 下图的一些感想…

CSS——26. 伪元素2(“::before ,::after”)

::before伪类 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>伪元素</title><style type"text/css">div::before{content: "我最棒";}}</style></head><body><!--…

在macOS上安装MySQL

macOS的MySQL有多种不同的形式&#xff1a; 1、本机包安装程序&#xff0c;它使用本机macOS安装程序&#xff08;DMG&#xff09;引导您完成MySQL的安装。有关详细信息&#xff0c;请参阅第2.4.2节&#xff0c;“使用本机包在macOS上安装MySQL”。您可以将包安装程序与macOS一…

计算机网络 (32)用户数据报协议UDP

前言 用户数据报协议&#xff08;UDP&#xff0c;User Datagram Protocol&#xff09;是计算机网络中的一种重要传输层协议&#xff0c;它提供了无连接的、不可靠的、面向报文的通信服务。 一、基本概念 UDP协议位于传输层&#xff0c;介于应用层和网络层之间。它不像TCP那样提…

易支付二次元网站源码及部署教程

易支付二次元网站源码及部署教程 引言 在当今数字化时代&#xff0c;二次元文化逐渐成为年轻人生活中不可或缺的一部分。为了满足这一庞大用户群体的需求&#xff0c;搭建一个二次元主题网站显得尤为重要。本文将为您详细介绍易支付二次元网站源码的特点及其部署教程&#xf…

汽车扶手屏里的FPC应用有哪些?【新立电子】

汽车扶手屏作为现代汽车内饰设计的一大亮点&#xff0c;通常被安装在座椅扶手位置&#xff0c;其设计初衷是为了方便乘客在乘车过程中进行各种操作和控制。屏幕不仅具备触控功能&#xff0c;还支持语音控制、手势识别等多种交互方式&#xff0c;使得乘客可以更加轻松、直观地操…

初学stm32 --- DMA直接存储器

目录 DMA介绍 STM32F1 DMA框图 DMA处理过程 DMA通道 DMA优先级 DMA相关寄存器介绍 F1 DMA通道x配置寄存器&#xff08;DMA_CCRx&#xff09; DMA中断状态寄存器&#xff08;DMA_ISR&#xff09; DMA中断标志清除寄存器&#xff08;DMA_IFCR&#xff09; DMA通道x传输…

MT6835天玑6100平台规格参数_MTK联发科安卓核心板方案定制开发

联发科MT6835平台集成了蓝牙、FM、WLAN 和 GPS 模块&#xff0c;是一个高度集成的基带平台。该芯片集成了两个 Arm Cortex-A76 内核&#xff08;运行频率高达 2.2GHz&#xff09;、六个 Arm Cortex-A55 内核&#xff08;运行频率高达 2.0 GHz&#xff09;和强大的多标准视频编解…

认识+安装ElasticSearch

1. 为什么要学习ElasticSearch? 一般的来说,项目中的搜索功能尤其是电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的&#xff0c;存在很多问题。 1.1 数据库搜索所存在的问题 1.1.1 查询效率较低 由于数据库模糊查询不走索引&…

QPS和TPS 的区别是什么?QPS 大了会有什么问题,怎么解决?

QPS 和 TPS 的区别是什么&#xff1f;QPS 大了会有什么问题&#xff0c;怎么解决&#xff1f; QPS&#xff08;Queries Per Second&#xff09;和 TPS&#xff08;Transactions Per Second&#xff09;都是衡量系统性能的重要指标&#xff0c;尤其是在 Web 服务、数据库和分布…

Mac中配置vscode(第一期:python开发)

1、终端中安装 xcode-select --install #mac的终端中安装该开发工具 xcode-select -p #显示当前 Xcode 命令行工具的安装路径注意&#xff1a;xcode-select --install是在 macOS 上安装命令行开发工具(Command Line Tools)的关键命令。安装的主要组件包括&#xff1a;C/C 编…

【网络协议】静态路由详解

网络中的路由器通过以下两种方式之一发现远程网络&#xff1a; 静态配置路由动态路由协议 在本文&#xff0c;我们将学习关于静态路由的各种概念&#xff0c;例如如何配置静态路由、路由表如何进行决策、路由接口等相关知识。 文章目录 引言直连网络静态路由路由表原则原则1原…