关系数据库-postgresql-基础

文章目录

  • 介绍
  • linux下安装
  • postgresql源码安装
  • navicat连接

介绍

  1. Postgresql官网
  2. 开源的关系型数据库;

 

linux下安装

  1. Ubuntu下可以使用apt包管理器安装;参考地址
  2. CentOS下可以使用yum包管理器安装;
  3. OpenSuse下可以使用zypper包管理器安装;参考地址
  4. 使用包管理器有时安装不到较新的版本,可以选择源码安装;

 

postgresql源码安装

这里以CentOS为例:

  1. 源码下载地址,选择一个版本;
  2. 解压文件;
# 解压到指定的目录
tar -zxvf postgresql-12.8.tar.gz -C /home/laufing
  1. 进入到解压目录,配置
cd  postgresql-12.8# 创建目录
mkdir /usr/local/pgsql  # root 用户
# 安装依赖
yum install -y gcc readline-devel zlib-devel
# 配置
./configure --prefix=/usr/local/pgsql  # 配置安装目录
  1. 编译安装
# 并行编译
make -j8
# 安装
make install 
#PostgreSQL installation complete.
  1. 配置环境变量
# root 用户配置/etc/profile
# 一般用户配置 .bashrcexport PATH=/usr/local/pgsql/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH

source /etc/profile 使文件生效

  1. 如果是root用户,安装好后是不允许以root身份运行数据库服务的,需要创建一个普通用户。
# 添加一个普通用户
# -d 指定家目录 -m 自动创建家目录
# -g 组
# -s 使用的shell
useradd jack -d /home/jack -m -g root -s /bin/bash# 设置密码
passwd jack
xxxxx# 更改pgsql所属用户
chown -R jack:root /usr/local/pgsql
  1. 初始化数据库,并配置
# 从root切换到普通用户
su - jack
# 初始化db,初始化完成会生成配置文件等
mkdir /home/jack/pgsql/data
initdb -D /home/jack/pgsql/data  # 配置
vim data/postgresql.conf
listen_addresses = "*"
port = 5432
bytea = "escape"vim postgresql_hba.conf
# 添加
host all all 0.0.0.0/0 md5
  1. 启动数据库
pg_ctl -D /home/laufing/pgsql/data -l logfile start
# stop or restart
  1. 客户端连接,并创建管理账户、普通账户
# 连接 postgres 数据库
psql -U jack -d postgres# 创建管理账户
create user dba password  'dba' superuser createrole createdb;
grant jack to dba;   # 创建普通用户
create user lauf with password 'lauf';
create database test owner lauf;
grant all privileges on database test to lauf;# 
\l 查看所有的库
\d 查看当前库所有的表
\d stu_t  查看表结构
\q 退出
exit 退出

使用navicat 连接postgresql数据库, 源码安装完成。

 

navicat连接

  1. 运行postgres、pg_ctl程序必须是普通用户(不能root用户)
  2. 使用创建的数据库普通用户,进行连接。
    在这里插入图片描述
     

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

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

相关文章

基于Python3的Scapy构造DNS报文

一:DNS协议 DNS(Domain Name System)协议是计算机网络中的一种基础协议,它用于将域名(如www.baidu.com)转换为IP地址(如192.168.0.1),从而实现计算机之间的通信。 DNS 分…

React基础: 项目创建 JSX 基础语法 React基础的组件使用 useState状态 基础样式控制

01 React 文章目录 01 React一、React是什么1、React的优势 二、React开发环境搭建1、创建项目2、运行项目3、项目的目录结构 三、JSX基础1、什么是 JSX代码示例: 2、JSX使用场景2.1代码示例: 3、JSX中实现列表渲染4、JSX - 实现基本的条件渲染5、JSX - …

喜讯!持安科技入选2023年北京市知识产权试点单位!

近日,北京市知识产权局发布了“2023年度北京市知识产权试点示范单位及2020年度北京市知识产权试点示范单位复审通过名单”名单。 经过严格的初审、形式审核和专家评审,北京持安科技有限公司入选“2023年北京市知识产权试点单位”。 北京市知识产权试点示…

并发性Socket通信源码(基于linux环境下多线程)

服务器端&#xff1a;server.c 1 #include <stdio.h>2 #include <stdlib.h>3 #include <unistd.h>4 #include <string.h>5 #include <arpa/inet.h>6 #include <pthread.h>7 void* working(void *arg);8 //信息结构体9 struct sockinfo10 …

《数据结构、算法与应用C++语言描述》-队列的应用-图元识别问题

《数据结构、算法与应用C语言描述》-队列的应用-图元识别问题 图元识别 问题描述 数字化图像是一个 mxm 的像素矩阵。在单色图像中&#xff0c;每一个像素要么为0&#xff0c;要么为 1。值为0的像素表示图像的背景。值为1的像素表示图元上的一个点&#xff0c;称其为图元像素…

BLUE引擎变量数据分析

今天跟大家说一下BLUE引擎的变量运用&#xff0c;以及使用中的小细节。大家在使用变量的时候&#xff0c;自定义变量不要以P、G、M、I、D、N、A开头。 变量与变量之间的常用格式: SMALL M88 <$STR(G88)> ;检测私人变量M88&#xff0c;是否小于全局变量G88 LARGE M88 &l…

Rust错误处理

返回值和错误处理 panic 深入剖析 主动调用 fn main() {panic!("crash and burn"); }backtrace 栈展开 panic 时的两种终止方式 当出现 panic! 时&#xff0c;程序提供了两种方式来处理终止流程&#xff1a;栈展开和直接终止 何时该使用 panic! 先来一点背景知…

分布式定时任务xxljob

xxl-job的xxl为作者名徐雪里拼音首字母。 xxl-job的作者是2015年开始开发这个项目&#xff0c;那时候springmvcbootstrapadminlte 大行其道&#xff0c;所以这个框架调度器一直沿用这个架构。 一、运行调度器 调度器可以集群或单点运行&#xff0c;以单点运行为例 下载代码…

前端 CSS 经典:box-shadow

1. 基础属性 /* box-shadow: h-shadow v-shadow blur spread color inset; */ box-shadow: 10px 10px 2px 2px red inset; h-shadow: 必填&#xff0c;水平阴影的位置&#xff0c;允许负值 v-shadow: 必填&#xff0c;垂直阴影的位置&#xff0c;允许负值 blur: 可选&#xff…

Linux shell编程学习笔记14:编写和运行第一个shell脚本hello world!

* 20231020 写这篇博文断断续续花了好几天&#xff0c;为了说明不同shell在执行同一脚本文件时的差别&#xff0c;我分别在csdn提供线上Linux环境 &#xff08;使用的shell是zsh&#xff09;和自己的电脑上&#xff08;使用的shell是bash&#xff09;做测试。功夫不负有心人&am…

视频怎么压缩?视频过大这样压缩变小

在日常生活中&#xff0c;我们常常会遇到需要压缩视频的情况&#xff0c;视频压缩不仅可以减小文件大小&#xff0c;方便存储和传输&#xff0c;还可以在保证质量的同时&#xff0c;满足不同的使用需求。那么&#xff0c;如何有效地压缩视频呢&#xff1f; 方法一&#xff1a;嗨…

集合根据属性分组思路

先创建结果结构&#xff0c;然后直接getOrDefault&#xff0c;最后put。 private Map<String, Map<String, ResourceBean>> covertResourceToMap(List<ResourceDto> resourceList) {// hotlineId,serviceCodeMap<String, Map<String, ResourceBean>…

Retrofit+Flow网络请求与Android网络请求的演变

Retrofit网络请求我想大家都不陌生&#xff0c;今天我就来梳理一下技术是如何一步一步进步&#xff0c;逼格是如何一步一步变高的。 Retrofit使用方式演变 萌新 刚开始接触Retrofit的时候是从okhttp和volley以及android系统源码里面那个HttpPost与HttpGet切换过来的。 publ…

GEO生信数据挖掘(九)肺结核数据-差异分析-WGCNA分析(900行代码整理注释更新版本)

第六节&#xff0c;我们使用结核病基因数据&#xff0c;做了一个数据预处理的实操案例。例子中结核类型&#xff0c;包括结核&#xff0c;潜隐进展&#xff0c;对照和潜隐&#xff0c;四个类别。第七节延续上个数据&#xff0c;进行了差异分析。 第八节对差异基因进行富集分析。…

Git 安装和基础命令、IDEA 基础操作

目录 总结命令&#xff1a;1、安装&#xff1a;1、安装2、配置环境变量&#xff1a; 2、Git操作&#xff1a;1、初始化&#xff1a;1、姓名邮箱&#xff1a;2、初始化仓库&#xff1a;3、工作区和暂存区分析 2、提交文件3、查看版本库状态4、安装小乌龟git不显示图标 5、查看提…

解线性方程组python实现迭代法(Jacobi迭代、Gauss-Seidel迭代、松弛迭代)

1. Jacobi迭代 Jacobi迭代法是一种用于求解线性方程组的迭代算法。它属于迭代法中的直接迭代法&#xff0c;通过不断迭代更新解向量来逼近线性方程组的解。 Jacobi迭代法的基本概念如下&#xff1a; 给定线性方程组的系数矩阵A和右侧常数向量b。 将系数矩阵A进行对角分解&…

解剖—单链表相关OJ练习题

目录 一、移除链表元素 二、找出链表的中间节点 三、合并两个有序链表 四、反转链表 五、求链表中倒数第k个结点 六、链表分割 七、链表的回文结构 八、判断链表是否相交 九、判断链表中是否有环(一) 十、 判断链表中是否有环(二) 注&#xff1a;第六题和第七题牛…

docker 基本用法-操作镜像

1.下载镜像 docker search centos #默认从 Docker Hub 中搜索镜像 访问 dockerhub&#xff1a;https://registry.hub.docker.com docker pull centos 拉取镜像 如果不能拉取 方法 1.需要配置配置镜像加速器 tee /etc/docker/daemon.json << EOF {"registry-mirro…

【文献copilot】调用文心一言api对论文逐段总结

文献copilot&#xff1a;调用文心一言api对论文逐段总结 当我读文献的时候&#xff0c;感觉读得太慢了&#xff0c;看翻译软件翻译的又觉得翻译的不好。于是我就写了个程序辅助我读文献&#xff0c;它可以逐段总结&#xff0c;输出格式是&#xff1a;原文一句话总结分段总结&a…

css钟表数字样式

如图&#xff1a; 代码 font-size: 28px;font-family: Yourname;font-weight: 500;color: #00e8ff;