postgres 的使用

news2024/10/21 16:10:05

postgres的常用命令:

      查看所有库: \l

      进入库 :\c

      查看所有表:\d 库名;

      查看表结构:\d 表名;

      查看所有用户:\du

      显示当前库下schema信息: \dn

postgres的防火墙配置:

         在安装目录的/var/lib/pgsql/data/pg_hba.conf  文件中

创建用户:

在postgres中创建、修改用户使用role,删除用户使用user

-- 创建角色 test1  带超级权限 登录权限 配置密码为 dyh666
create role test1  with SUPERUSER LOGIN password 'dyh666';

-- 普通用户
create role test2  with  LOGIN password 'dyh666';

-- 创建复制用户
create role test3  with REPLICATION  LOGIN password 'dyh666';

-- 修改用户
alter role test1 with NOSUPERUSER login password 'dyh666';

-- 删除用户
drop user test1;

--修改将属主为 test 的表分配给 test2
reassign owned by test1 to test2;

-- 删除属于 test1 的表 
-- 需要手动删除数据库或表空间
drop owned by test1;

权限管理:

授权test1用户对test库拥有create权限
grant create on database test to test1;

    schema 权限

        -- 创建schema 默认为当前用户
        create schema  test_schema;

        -- 创建schema test2 授权给 test1 用户
        create schema test2 authorization test1;

        -- 进入schema
        set search_path to  test_schema;

        -- 查看一个database下有几个schema
        select * from information_schema.schemata;

        -- 将test_schema的拥有者设置为test用户
        alter schema test_schema  owner to test;

        -- 进入test 库
        \c test

        -- 授权 test 用户 test_chema 下的所有表,增删改查权限
        grant select,insert,update,delete on all tables in schema test_schema  to test;

        -- 删除模式
        drop schema test1;

        -- 删除模式及其包含的对象
        drop schema test2 cascade;

    角色权限:

        -- 创建角色
        create role select_group;

        -- 授权 t1 表查询权限 给角色 select_group
        grant select on t1 to select_group;

        -- 授权 select_group 组给 user_test 用户
        grant select_group to user_test;

在库里面执行:  set search_path to  test_app_schema;   切换到指定schema下面;

postgres的数据类型:

     1、数值:    
名字存储长度描述范围
smallint2 字节小范围整数-32768 到 +32767
integer4 字节常用的整数-2147483648 到 +2147483647
bigint8 字节大范围整数-9223372036854775808 到 +9223372036854775807
decimal可变长用户指定的精度,精确小数点前 131072 位;小数点后 16383 位
numeric可变长用户指定的精度,精确小数点前 131072 位;小数点后 16383 位
real4 字节

可变精度(整数或小数),

不精确

6 位十进制数字精度
double precision8 字节可变精度,不精确15 位十进制数字精度
smallserial2 字节自增的小范围整数1 到 32767
serial4 字节自增整数1 到 2147483647
bigserial8 字节自增的大范围整数1 到 9223372036854775807
    2、货币类型:money

          money类型存储带有固定小数精度的货币金额。
          numeric、int 和 bigint 类型的值可以转换为 money,不建议使用浮点数来处理处理货币类型,因为存在舍入错误的可能性。

名字存储容量描述范围
money8 字节货币金额-92233720368547758.08 到 +92233720368547758.07
    3、字符类型:
名字描述
varchar(n) 或 character varying(n)变长,有长度限制,最大为 10485760(1G)
char(n)或 character(n)定长,不足补空白,最大为 10485760(1G)
text变长,无长度限制
     4、日期时间类型:

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

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

相关文章

【升华】人生苦短,我要学python

一、python进阶成熟度阶梯 二、python进阶路线 三、python基础 Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。 Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C、Algol-68、SmallTa…

解决使用MobaXterm不能向Ubuntu上传下载文件的问题

如上图所示 解决方案 新建连接,使用root账户建立ssh会话,就是建立会话的时候,用户名使用root。ubuntu系统默认不允许远程root账户建立连接,表现就是你新建ssh会话,在第一步输入root密码的时候,密码正确会报…

ACM会议模板左上角论文标题太长导致重叠 解决方法

解决方法: 打开acmart.cls文件 搜索 \else % Proceedings\fancyfoot[C]{\ifACMprintfolios\footnotesize\thepage\fi}%\fancyhead[LO]{\ACMlinecountL\headfootfont\shorttitle}%fancyhead[LO]{…} 里定义了左上角的内容(LO 表示 “Left Odd”&#xff0…

四.python核心语法2

目录 1.元组(tuple) 1.1. 创建元组和删除元组 1.2. 删除元组 1.3. 访问元组元素 1.4. 元组元素的修改 1) 重新赋值法 2) 类型转换法 1.5. 总结 2.字典{dictionary} 2.1. 创建 2.2. 字典元素的访问 2.3. 是否存在 2.4. 添加元素 2.5. 删除元素…

部署带证书的docker高可用的私有仓库harbor

一、部署带证书的docker高可用的私有仓库harbor harbor下载包:https://hub.fastgit.org/goharbor/harbor/releases docker阿里云地址:docker-ce-linux-centos-7-x86_64-stable-Packages安装包下载_开源镜像站-阿里云 Harbor 是 VMware 公司开源的企业级 …

刷题训练之多源 BFS

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握多源 BFS算法。 > 毒鸡汤:学习,学习,再学习 ! 学,然后知不足。 > 专栏选自:刷…

quic-go源码一---server启动

前言: 走马观花地看了RFC 9000:QUIC: A UDP-Based Multiplexed and Secure Transport, 感受不是那么直观,所以再来看看这个协议的golang语言实现:quic-go,加强学习。 https://quic-go.net/docs/quic/quic-go文档 本篇准备的代…

threejs-法线向量

一、介绍 1.介绍 1.在3D计算机图形中,‘法向量’是一个向量,表示3d模型表面在某一点的方向。在每个顶点上,都会有一个关联的法向量,这个向量通常被归一化,也就是说它的长度为1。 2.使用:定点的法向属性在很多计算图形的领域都有应…

lammps统计一个原子周围不同类型原子数量的方法

本文介绍lammps统计一个原子周围不同类型原子数量的方法。 在之前的专栏中,曾介绍过动态统计某一个固定区域内原子数量的方法,也介绍过动态统计某一个原子周围原子数量的方法: 下面介绍第三种类型:动态统计某一个原子周围不同类型原子数量的方法。 以小球的随机碰撞为例,原…

【2024.10.14练习】生命之树

题目描述 题目分析 对于求树的子区域最大和,考虑使用树形DP求解。 假设以树的某一结点为根节点来深度优先搜索整棵树,搜索到每个结点时都会有两种决策状态:加入该节点和不加入该节点。定义代表选择此结点所能得到最大权值和,代表…

【Linux】解析信号的本质&相关函数及指令的介绍

前言 大家好吖,欢迎来到 YY 滴Linux系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Lin…

动态规划-简单多状态dp问题——LCR.091.粉刷房子

1.题目来源 题目来源:LCR.091.粉刷房子——力扣 测试用例 2.算法原理 下列矩阵表示粉刷每个房子的费用,对应颜色表示粉刷的油漆颜色 1.状态表示 创建一个n3的dp表,每一列代表第i个房子刷三个颜色中任意颜色的情况下花费的费用 dp[i][0]:第…

c语言字符函数

1,字符分类函数: 例如:写一个代码将字符串中的小写字母转化成大写字母 就可以用到上述islower函数判断字符是否是小写 2.字符转换函数 c语言提供了两个字符转换函数 1.int tolower (int c); //将输入进去的大写字母转化成小写 2,int …

AI开发者工具的双子星:Cursor与ChatGPT Canvas的区别

01—Cursor:沉浸式的开发体验 Cursor是一款旨在为开发者提供无缝编程体验的工具。它将AI的功能深度嵌入到开发者熟悉的环境中,便于在编码过程中获得即时帮助。开发者无需离开自己的操作界面,AI就能自动为其提供代码补全、错误检查和优化建议…

荣耀、中国移动、京东三强联合,开启产业链升级的“价值跃迁”

市场最大的不变就是变化,能够赢得跨越式发展的,往往是最能适应变化,并且开拓创新的企业。 在全行业数字化转型的当下,线上智能终端销售模式,正在迎来新的篇章。 10月12日,在2024中国移动全球合作伙伴大会…

买自动猫砂盆怎么不花冤枉钱?双十一高性价比自动猫砂盆推荐

平时出门在外面,真的有点来不及照顾猫咪的猫砂盆,导致粪便堆积的时间过长,污染干净的猫砂,猫砂盆长时间不清理,会增加细菌滋生的机会,从而增加猫咪尿路感染的风险。自动猫砂盆的自动铲屎很方便实用&#xf…

界面耻辱纪念堂--可视元素02

Leif Almberg 发给我们一个从 IBMs NetFinity(一个管理网络和远程计算机的程序)截取的图片。 这个图片由一大堆混乱的带边框的控件组成,这些控件占据了整个屏幕。由于他们希望把所有东西填充在一个单独对话框中,IBM 的设计者不得…

IPv6 DNS简介

IPv6网络中的每台主机都是由IPv6地址来标识的,用户只有获得待访问主机的IPv6地址,才能够成功实现访问操作。对于用户来讲,记住主机的IPv6地址是相当困难的,因此设计了一种字符串形式的主机命名机制,这就是域名系统。用…

HBuilder X 下载vue-router时 发生异常:npm ERR! code EPERM

一、异常 PS C:\Users\GL\Documents\HBuilderProjects\vj1> npm i vue-router3.6.5 npm ERR! code EPERM npm ERR! syscall mkdir npm ERR! path C:\Program Files\nodejs\node_cache\_cacache npm ERR! errno EPERM npm ERR! FetchError: Invalid response body while tr…

Vue3 集成 json-editor-vue3

简介 快速编辑json数据,还需要支持全屏编辑,以及json校验。 https://github.com/guyue88/json-editor-vue3 安装依赖 npm install json-editor-vue3 --save 引入 在 main.js中添加 import “jsoneditor”; 全局引入 import Vue from vue import Json…