PostgreSQL数据库操作SQL

数据库操作SQL

创建

  • 创建数据库
Bash 复制代码
	create database db_test;
  • 创建并指定相关参数 with
    • owner : 所有者
    • encoding : 编码
    • connection limit :连接限制
Bash 复制代码
	create database db_test1 with 
		owner = postgres
		encoding = 'utf-8'
		connection limit = 100;

修改

  • 修改数据库名称 rename
Bash 复制代码
	alter database db_test2 rename to db_test;

删除

  • 删除数据库
Bash 复制代码
	drop database if exists test1;

查看

  • 查看当前数据库
Bash 复制代码
	select current_database();
  • 查看所有数据库
Bash 复制代码
	select datname from pg_database;
  • 查看数据库所有者
Bash 复制代码
	select datname, pg_get_userbyid(datdba) as owner from pg_database where datname = 'db_test1';

修改所有者

  • 创建角色(用户)
Bash 复制代码
	create role test with login password 'test';
  • 修改密码
Bash 复制代码
	alter role test with password 'test1';
  • 删除用户
Bash 复制代码
	drop role username;

注:如果无法删除,需要先撤销用户的所有权限才能进行删除

  • 授权用户

grant privilege_name on object_name to username;

Bash 复制代码
	# 授权数据库
	grant all privileges on database db_ttest1 to test;
	# 授权表权限(需要管理员进入数据库进行授权)
	grant all privileges on all tables in schema public to test;
  • 撤销授权

revoke privilege_name on object_name from username;

Bash 复制代码
	# 撤销数据库权限
	revoke all privileges on database db_ttest1 from test;
	# 撤销表权限
	revoke all privileges on all tables in schema public from test;
  • 修改所有者
Bash 复制代码
	alter database db_test2 owner to test;
相关推荐
东风破_5 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔6 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构
橙子家6 小时前
OSS 文件上传的几个风险点和解决方案
数据库
2601_962066498 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
愤怒的苹果ext8 小时前
MySQL Shell备份恢复数据库
数据库·mysql·备份恢复·mysqlsh
数字新视界10 小时前
DCIM管理系统的技术架构与部署模式详解
数据库·物联网·数据中心·数据中心基础设施管理·dcim管理系统
何以解忧,唯有..10 小时前
Pydantic 介绍与使用:Python 数据校验的现代方案
数据库·python·microsoft
这个DBA有点耶11 小时前
数据库容灾进入“秒级时代”:同城双活架构原理、关键技术选型与落地实践
数据库·架构·dba
2601_9620748112 小时前
大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL
大数据·数据库·mysql
2601_9620738112 小时前
大数据-240 离线数仓 - 广告业务 测试 ADS层数据加载 DataX数据导出到 MySQL
大数据·数据库·mysql