首页 > 数据库 >Postergresql常见操作

Postergresql常见操作

时间:2024-04-25 16:23:30浏览次数:34  
标签:Postergresql postgres 数据库 常见 用户 user zhaobsh 操作 权限

Postergresql常见操作

1. 安装部署 略

2. 登录数据库 查看版本

## 以管理员身份 postgres 登陆,然后通过
#psql -U postgres
#sudo -i -u postgres

$ psql xc_hzh_linan                    #登录xc_hzh_linan数据库
$ psql -U postgres test               #以postgres用户身份,登录test数据库
psql -h localhost -p 5432 -U postgress testdb

 

3. 相关命令


使用反斜线作为命令前缀.

退出 \q 列出所有的数据库 \l 列出所有的数据库的大小 \l+ 更改当前连接的数据库 \c 列出当前数据库的连接信息 \connect 列出当前数据库和连接的详细信息 \conninfo 查看当前数据库里面的表和拥有者和表大小 \dt + 展示所有用户 \dg

查看所有表名的列表 \d 获取表结构 \d a 展示所有用户 \du 查看t_sms表的结构 \d t_sms 展示数据库里面的所有的表 \dt 列出所有的数据库的详细信息(包括数据库大小和字符格式) \l+ 显示用户访问权限。 \z或\dp 显示所有可设置的访问权限 \h GRAN 显示用户的对所有数据库表的详细访问权限 \dp或者\z 确认当前连接的用户为超级用户postgres,且该用户后创建角色和数据库的权限等 #select current_user; 在超级用户连接postgres后,设置不允许普通用户a连接数据库 #alter role a nologin;

使用普通用户a连接数据库正常 #\c highgo a

查看当前连接的用户名: foo=#select * from current_user; 或 foo=#select user;

查看所有用户名: foo=#\du

4、创建/删除用户及权限相关

4.1 创建用户

create role zhaobsh;
create user wzq with password '123456';                       #设置用户,并设置密码
create database xc_hzh_linan owner xchzhlinan ;         #创建数据库以及所属用户

drop user runoob; # 删除用户 runoob

4.2 更改用户密码

alter role zhaobsh with password 'Test6530';

or

\password zhaobsh

ALTER USER postgres WITH PASSWORD 'postgres';


-----
注:

密码postgres要用引号引起来

命令最后有分号
----

4.3 给用户添加权限

授权给用户** PostgreSQL中预定义了许多不同类型的内置权限,如:SELECT、INSERT、UPDATE、DELETE、RULE、REFERENCES、TRIGGER、CREATE、TEMPORARY、EXECUTE和USAGE。**

要做操作需登录这个用户,不然没权限 他是管理员用户

alter user asan with SUPERUSER; # 类似postgres的SUPERUSER 权限用户
#
grant all on database "GSCloud1903" to zhaobsh;                         #赋予用户zhaobsh数据库所有权限

grant UPDATE ON database "GSCloud1903" to zhaobsh;             # 赋予用户zhaobsh数据库更新权限

/* 赋给用户表的所有权限 */
GRANT ALL ON tablename TO user;

/* 赋给用户数据库的所有权限 */
GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;

/* 撤销用户权限 */
REVOKE privileges ON tablename FROM user;

### 修改数据库的属主属组
alter database "GSCloud1903" owner to zhaobsh;
ALTER ROLE user_4 WITH CREATEROLE;           /*赋予创建角色的权限*/  
alter database "GSCloud1903" rename to zhaobsh;             --修改schema的名称

5 数据库库表操作

5.1 查看数据库

# \L

5.2 删除数据库

postgres=# drop database test;

#如果数据库名称中包含符号-,则用双引号包括数据库名称

postgres=# drop database "test-study";

5.3 查看当前数据库

postgres# select current_database();

5.4 切换数据库

postgres# \c db

5.5 创建数据库并授权

CREATE DATABASE dbname;

postgres=# create database dbtest owner username; -- 创建数据库指定所属者
CREATE DATABASE


将数据库得权限,全部赋给某个用户

postgres=# grant all on database dbtest to username; -- 将dbtest所有权限赋值给username
设置是 supseruser 以及 登录权限
alter user zhaobsh superuser login

5.5 退出数据库

postgres# \q

 

数据表

5.6 显示当前数据库中的所有表

# \d

5.7 显示指定表结构

postgres# \d tableName

5.8 查表内容

seelect * from tablename;

6 数据库备份恢复操作

------------------------数据的导出:
$ pg_dump -U postgres(用户名)  (-t 表名) 数据库名(缺省时同用户名)  > 路径/文件名.sql

postgres@debian:~$ pg_dump -U postgres -t system_calls wangye > ./test.sql
postgres@debian:~$ ls
9.1 test.sql
-----------------------数据的导入:
导入数据时首先创建数据库再用psql导入:

$ createdb newdatabase
$ psql -d newdatabase -U postgres -f mydatabase.sql   // sql 文件在当前路径下


$ psql -d databaename(数据库名) -U username(用户名) -f < 路径/文件名.sql // sql 文件不在当前路径下

$ su postgresql   #切换到psql用户下
$ psql -d wangye -U postgres -f system_calls.sql   # sql 文件在当前路径下
INSERT 0 1
INSERT 0 1
INSERT 0 1
 

标签:Postergresql,postgres,数据库,常见,用户,user,zhaobsh,操作,权限
From: https://www.cnblogs.com/MarkGuo/p/18157935

相关文章

  • Excel 表格一个单元格里有多个内容怎么分开,讲解最强操作和公式
    一个表格里单元格包含了多个内容,要怎么分开?一些表格使用者在录入数据时,为方便录入会将多个内容输入到一个单元格中,所以这是一个很普遍的数据处理场景。下面作者会讲解两个解题方法,第一个功能设置操作,第二个是专用函数公式,来快速执行单元格内的多个内容的拆分。......
  • blog.admin 查询增加过滤器,添加、删除增加数据审计、统一控制权限操作
    一、查询增加过滤器需求说明:有几张表(医生表、病人表等),有个字段ClinicID都与诊所表主键Id关联。用户登录系统时候,根据所分配的诊所权限,只查看自己诊所的数据。通过查询过滤器,在查询每个表的时候,自动将ClinicID==当前登录用户所属ClinicID,添加上。1、创一个IClinicEntity接口usi......
  • 大型企业不同安全域文件交换,常见方式的优势与问题对比
    现在越来越多的企业通过对网络进行物理或逻辑隔离,将内部网络与外部网络隔离开来,从而限制非法访问和恶意渗透,防止敏感数据泄露和恶意代码的传播,提高网络安全性。对于大型企业而言,将网络分为内外网并不足以满足安全管控的需求,它们会在内部再分割不同的安全域,如黄区、绿区、红区;如生......
  • C语言数据结构:双向循环链表的增删操作
    /***********************************************************************************************************设计双向循环链表的接口****Copyright(c)2023-2024a1583839363@163.comAllrightReserved**********************************************......
  • 操作系统说明
    计算机系统由硬件和软件组成,软件又分为系统软件和应用软件,直接向用户解决,实际问题的软件是应用软件,系统软件为应用软件的开发与运行提供支持,在系统软件中最重要的是操作系统,操作系统是其他系统软件和应用软件运行的基础。操作系统是最靠近硬件的软件有没有高性能是由计算机硬件决......
  • 「案例分享」DevExpress XAF (WinForms UI)赋能医疗管理系统,让操作更自动化!
    DevExpressXAF是一款强大的现代应用程序框架,它采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。获取DevExpress新版正式版下载DevExpress技术交流群10:532598169      欢迎一起进群讨论项目背景Min......
  • js获取当前的操作系统
    在JavaScript中,没有直接的方式来获取操作系统的信息,因为出于安全考虑,浏览器不允许访问这些信息。但是,你可以通过用户代理字符串(User-Agentstring)来间接地推断操作系统信息。以下是一个简单的JavaScript函数,用于解析用户代理字符串以推断操作系统://获取操作系统类型fu......
  • 七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
    前言上一章节我们引入BootstrapBlazorUI组件完成了EasySQLite后台界面的基本架子的搭建,本章节的主要内容是Blazor班级管理页面编写和接口对接。七天.NET8操作SQLite入门到实战详细教程第一天SQLite简介第二天在Windows上配置SQLite环境第三天SQLite快速入门......
  • MoUsoCoreWorker.exe 是 Windows 操作系统中的一个进程,它属于 Microsoft Update Stack
    MoUsoCoreWorker.exe是Windows操作系统中的一个进程,它属于MicrosoftUpdateStack的一部分,用于处理Windows更新和维护任务。具体来说,MoUsoCoreWorker.exe是WindowsUpdate的核心工作程序,负责检查、下载和安装操作系统和应用程序的更新。这个进程通常位于Windows......
  • Python基础-模块、Python操作excel
    模块和面向对象-day9今日概要模块自定义模块内置模块第三方模块[!Caution]这个地方讲的会比较多,而且有的东西网上搜不到!!!自动化办公相关模块--Excel和Word面向对象1.面向对象中的概念对象,什么是对象?比如说我桌子上好多东西,有铅笔、钢笔、圆珠笔,玻......