当前位置: 首页 > news >正文

Postgresql部署及简单操作

目录

1、介绍

2、什么是PostgreSQL

3、PostgreSQL 的特点

4、数据库定为

5、环境准备 

6、编译安装

6.1 安装依赖包

6.2 下载安装包

6.3 创建用户

6.4 创建 postgresql数据目录并授权

 6.5 上传压缩包并解压

6.6 编译postgresql源码 

6.7 配置环境变量

6.8 初始化数据库

5.9  配置文件修改

6.10 配置服务

 6.11 启动服务

 7、 数据库创建及使用

7.1 在默认配置条件下,本机访问PostgreSQL

7.2 创建数据库新用户如qztest 

7.3 创建用户数据库,如qztestdb

 7.4 将qztestdb数据库的所有权限都赋予qztest

7.5 使用命令 \q 退出psql

7.6 以qztestdb的身份连接数据库qztestdb

7.7 创建表、索引、并插入数据

8、 开启远程访问

8.1 编辑配置文件

8.2 重启数据库服务

8.3 此后即可从其它机器上登录,例如用Navicat for PostgreSQL


1、介绍

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

2、什么是PostgreSQL

PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。

PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是免费提供的。

PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft Windows等。

3、PostgreSQL 的特点

PostgreSQL可在所有主要操作系统(即Linux,UNIX(AIX,BSD,HP-UX,SGI IRIX,Mac OS X,Solaris,Tru64)和Windows等)上运行。

PostgreSQL支持文本,图像,声音和视频,并包括用于C/C++,Java,Perl,Python,Ruby,Tcl和开放数据库连接(ODBC)的编程接口。

PostgreSQL支持SQL的许多功能,例如复杂SQL查询,SQL子选择,外键,触发器,视图,事务,多进程并发控制(MVCC),流式复制(9.0),热备(9.0))。

在PostgreSQL中,表可以设置为从“父”表继承其特征。

可以安装多个扩展以向PostgreSQL添加附加功能。

4、数据库定为

5、环境准备 

操作系统

centos

CPU

4核

内存

16G

Postgresql版本

postgresql-11.4

6、编译安装

6.1 安装依赖包

yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

6.2 下载安装包

wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz

6.3 创建用户

#查看用户是否存在
id postgres#添加用户组及用户
groupadd postgres
useradd -g postgres  postgres#再次查看可以查看对应的uid gid 
id postgres

6.4 创建 postgresql数据目录并授权

选择对应的磁盘空间较大的盘创建数据目录

mkdir -p /pg/postgresql/data
chown -R postgres:postgres /pg

 6.5 上传压缩包并解压

rz filename

#解压
tar -zxvf postgresql-11.4.tar.gz

6.6 编译postgresql源码 

#进入postgresql解压目录
cd /pg/postgresql-11.4#编译 指定安装目录
./configure --prefix=/pg/postgresql

PostgreSQL配置脚本选项

#安装
make && make install

 

编译后结果如下

 至此,postgresql安装完成

6.7 配置环境变量

# 切换到postgres用户
su - postgres# 编辑postgres用户环境变量
vim .bash_profile# 添加如下内容
export PGHOME=/pg/postgresql
export PGDATA=/pg/postgresql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin # 使环境变量生效
source .bash_profile

6.8 初始化数据库

initdb

此时,postgresql数据目录下已经生成对应的文件。

#进入postgresql目录
cd /pg/postgresql/data
#查看
ll -h

 

5.9  配置文件修改

修改数据目录下的postgresql.conf  及 pg_hba.conf文件

postgresql.conf   配置PostgreSQL数据库服务器的相应的参数。

pg_hba.conf        配置对数据库的访问权限

初期测试使用时,可以简单修改部分配置,其他值使用默认值

修改 postgresql.conf

vim postgresql.conf
修改 listen_addresses 为 * ,代表所有主机皆可访问
listen_addresses = '*' 

修改 pg_hba.conf(允许任意用户从任意机器上以密码方式访问数据库)

vim pg_hba.conf
添加如下记录
host    all     all             0.0.0.0/0            trust
host    all     all             127.0.0.1/32         trust

6.10 配置服务

如需配置为服务启动方式,可以按照如下步骤操作

切换至管理员用户root
# 进入postgresql源码目录
cd /pg/postgresql-11.4/contrib/start-scripts# 此目录下有各系统的启动目录,需先将其添加执行权限
chmod +x  linux # 将启动服务拷贝至启动服务下
cp linux  /etc/init.d/postgresql

 

因启动服务命令里配置上了默认安装路径目录及数据目录,如与默认路径不一致,需手动调整

vim  /etc/init.d/postgresql修改 prefix及PGDATA 路径prefix=/pg/postgresql
PGDATA="/pg/postgresql/data"

 

 6.11 启动服务

a)  通过服务启动postgresql
/etc/init.d/postgresql  startb)  通过服务关闭postgresql
/etc/init.d/postgresql  stop

c)  通过pg_ctl 启动
#  将postgresql安装路径bin目录下的命令赋权给postgres用户
cd  /pg/postgresql/bin
chown -R  postgres:postgres  .# 切换至postgres用户启动服务su - postgres# 启动服务
pg_ctl -D /pg/postgresql/data/ -l logfile  start# 关闭服务
pg_ctl -D /pg/postgresql/data/ -l logfile  stop

 

至此,便可以通过客户端连接数据库进行操作了

数据库创建及使用

 7、 数据库创建及使用

7.1 在默认配置条件下,本机访问PostgreSQL

切换到Linux用户postgres,然后执行psql

psql

此时就在数据库postgres中了。使用 psql -d [databasename] 可登录其他数据库。注意:执行psql命令时,必须确认已配置postgresql的环境变量。

7.2 创建数据库新用户如qztest 

postgres=# create user qztest with password 'qztestuat2023!';
CREATE ROLE
注意:语句要以分号结尾。密码要用单引号括起来。

7.3 创建用户数据库,如qztestdb

postgres=# CREATE DATABASE qztestdb OWNER qztest;
----------------------------------------------------------------------
另一种方式创建数据库:createdb qztestdb

 7.4 将qztestdb数据库的所有权限都赋予qztest

postgres=# GRANT ALL PRIVILEGES ON DATABASE qztestdb TO qztest;

7.5 使用命令 \q 退出psql

postgres=# \q
或者输入quit退出

7.6 以qztestdb的身份连接数据库qztestdb

psql -d qztestdb

7.7 创建表、索引、并插入数据

qztestdb=# create table  test1(id int  not null  primary key,name  varchar(20),age int );
CREATE TABLE
qztestdb=# create index idx_test1_name on test1(name);
CREATE INDEX
qztestdb=# insert into test1 values(1,'lisi',28);
INSERT 0 1
qztestdb=# insert into test1 values(2,'测试',20);
INSERT 0 1
qztestdb=# insert into test1 values(3,'前置',22);
INSERT 0 1
qztestdb=# insert into test1 values(4,'chinalife',59);
INSERT 0 1
qztestdb=# insert into test1 values(5,'小新',51);
INSERT 0 1
qztestdb=# insert into test1 values(6,'张三',58);
INSERT 0 1
qztestdb=# insert into test1 values(7,'历史',64);
INSERT 0 1
qztestdb=# insert into test1 values(8,'网二',11);
INSERT 0 1
qztestdb=# insert into test1 values(9,'码子',28);
INSERT 0 1
qztestdb=# insert into test1 values(10,'小红',99);
INSERT 0 1

查询表:
qztestdb=# select * from test1;

8、 开启远程访问

8.1 编辑配置文件

文件:postgresql.conf


位置:vim /pg/postgresql/data/postgresql.conf
添加/修改:在所有IP地址上监听,从而允许远程连接到数据库服务器:
listening_address: '*'

 文件:pg_hba.conf

位置:vim /pg/postgresql/data/pg_hba.conf
添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:
host    all             all             0.0.0.0/0               md5

 和上面安装时候配置一样.

8.2 重启数据库服务

pg_ctl -D /pg/postgresql/data/ -l logfile  restart

8.3 此后即可从其它机器上登录,例如用Navicat for PostgreSQL

主机名或IP: 192.*.*.*

端口:          5432

初始数据库:    xxx

用户:          xxx

密码:          ******  

(数据库用户xxf的密码,不是Linux用户xxf的密码)

参考链接一,参考链接二

相关文章:

Postgresql部署及简单操作

目录 1、介绍 2、什么是PostgreSQL 3、PostgreSQL 的特点 4、数据库定为 5、环境准备 6、编译安装 6.1 安装依赖包 6.2 下载安装包 6.3 创建用户 6.4 创建 postgresql数据目录并授权 6.5 上传压缩包并解压 6.6 编译postgresql源码 6.7 配置环境变量 6.8 初始化数…...

rabbitmq集群搭建

升级步骤 1.升级包上传 1.1上传erlang、rabbitmq安装包 创建对应升级目录 将安装包otp_src_22.1.7.tar.gz上传到新创建的目录下 将安装包rabbitmq-server-generic-unix-3.8.9.tar.xz上传到新创建的目录下 1.2 执行解压命令tar -zxvf otp_src_22.1.7.tar.gz xz -d rabbitmq-s…...

C++ 二叉搜索树的概念特性

1. 二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树 ,或者是具有以下性质的二叉树 : 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大…...

7、Spring_AOP

一、Spring AOP 简介 1.概述 对于spring来说,有三大组件,IOC,ID,AOP aop概述:AOP(Aspect Oriented Programming)面向切面编程。 作用:不改变原有代码设计的基础上实现功能增强 例子 传统打印日志 使用…...

QChart:数据可视化(用图像形式显示数据内容)

1、数据可视化的图形有:柱状/线状/条形/面积/饼/点图、仪表盘、走势图,弦图、金字塔、预测曲线图、关系图、数学公式图、行政地图、GIS地图等。 2、在QT Creator的主页面,点击 欢迎》示例》右侧输入框 输入Chart,即可查看到QChar…...

【python】Leetcode(primer-set)

文章目录 78. 子集(集合的所有子集)90. 子集 II(集合的所有子集) 更多 leetcode 题解可参考:【Programming】 78. 子集(集合的所有子集) 给定一组不含重复元素的整数数组 nums,返回…...

【LVS集群】

目录 一、集群概述 1.负载均衡技术类型 2.负载均衡实现方式 二、LVS结构 1.三层结构 2.架构对象 三、LVS工作模式 四、LVS负载均衡算法 1.静态负载均衡 2.动态负载均衡 五、ipvsadm命令详解 1. -A 2. -D 3. -L 4. -a 5. -d 6. -l 7. -t 8. -s 9. -r 10. -…...

软考高级系统架构设计师系列之:论文题目类型、论文考试大纲、历年考试论文真题汇总、论文写作原则、论文写作常见问题、论文评分标准

软考高级系统架构设计师系列之:论文题目类型、论文考试大纲、历年考试论文真题汇总、论文写作原则、论文写作常见问题、论文评分标准 一、论文写作概述二、论文题目类型三、论文考试大纲1.系统建模2.软件架构设计3.系统设计4.分布式系统设计5.系统的可靠性分析与设计6.系统的安…...

完整的application.xml

<!-- 资源文件配置 --><beans profile"dev"><bean class"com.ningpai.util.CustomPropertyPlaceholderConfigurer"><property name"locations"><list><value>classpath:/com/ningpai/web/config/dev/jdbc.p…...

C语言:运算符优先级

一、优先级&#xff08;常使用的运算符&#xff09; 见表格 二、注意 总体原则&#xff1a;算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符 同一级别下的运算符的运算次序由表达式的结合方向决定 运算符注释级别( )圆括号1[ ]数组下标1后置后置2后置--后置--2前置…...

Android GreenDao数据库升级(附Demo)

前言 大家好久不见&#xff0c;一转眼马上八月份下旬了&#xff0c;最近由于工作比较忙&#xff0c;没时间给大家更新博文。百忙之中抽出时间&#xff0c;给大家来更新一篇关于GreenDao3数据库的升级。 关于GreenDao的详细介绍以及一些逻辑性的增、删、改、查等&#xff0c;可以…...

剑指 Offer 32 - III. 从上到下打印二叉树 III

目录 使用函数实现 使用双端队列实现 请实现一个函数按照之字形顺序打印二叉树&#xff0c;即第一行按照从左到右的顺序打印&#xff0c;第二层按照从右到左的顺序打印&#xff0c;第三行再按照从左到右的顺序打印&#xff0c;其他行以此类推。 例如: 给定二叉树: [3,9,20,nu…...

【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】

【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】 1、前言2、实验环境3、自我总结&#xff08;1&#xff09;文件的编写&#xff08;2&#xff09;信号与槽的新理解&#xff08;3&#xff09;线程数据的传递 4、移植步骤第一步&#xff1a;添加新文…...

后端开发12.商品模块

概述 简介 商品模块这个设计的非常复杂 效果图 数据库...

/usr/bin/containerd: Operation not permitted

问题 今天在重启docker程序的时候一直启动不起来&#xff0c;通过systemctl status docker和jourctl -xu docker也没有发现什么有用的报错信息&#xff0c;无奈只好查看/var/log/message&#xff0c;发现以下错误提示&#xff1a; Started containerd container runtime Start…...

分析商务报表使用什么工具?

传统的BI分析商务报表存在的问题 随着数字化转型的深入推进&#xff0c;企业面临着海量数据的挑战和机遇。数据是企业的重要资产&#xff0c;能够帮助企业洞察市场动态、优化业务流程、提升客户满意度、创造竞争优势。然而&#xff0c;传统的BI&#xff08;商业智能&#xff0…...

nginx文件配置

在部署前后端分离项目时&#xff0c;当前端和后端不在一个服务器上时&#xff0c;需要在前端服务器上下载nginx并配置 #hkdp-front-test 前端服务器 xxx.xxx.x.69 前端项目端口号9528&#xff0c;监听文件夹 /home/apps/vue/hkdp-manager 配置如下 server{ …...

视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、…...

小程序定位到 胶囊的三个点大概中间

话不多说&#xff0c;先上效果图 这个功能实现思路: 首先先拿到这一张整图(快捷&#xff0c;精确)然后获取整个导航栏高度(自定义导航栏,非自定义导航栏忽略这一步)获取三个点的做偏移量&#xff0c;把高度和偏移量给到一个定位到盒子&#xff0c;这个盒子里就放这个图片&…...

Maven详解

文章目录 一、引言1.1 为什么需要 Maven&#xff1f;1.2 Maven 解决了哪些问题&#xff1f;1.2.1 添加第三方jar包1.2.2 jar包之间的依赖关系1.2.3 处理jar包之间的冲突1.2.4 获取第三方jar包1.2.5 将项目拆分成多个工程模块1.2.6 实现项目的分布式部署 二、介绍三、Maven 的特…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...