postgresql 命令行操作

这篇具有很好参考价值的文章主要介绍了postgresql 命令行操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.登录

#只指定用户,默认postgres库
psql -U postgres

#指定主机和端口,用户,还需要密码认证,默认postgres库
psql -h localhost -p 5432 -U postgres --password

#指定主机和端口,用户,数据库
psql -h localhost -p 5432 -U postgres  -d '数据库' --password

2.常用命令

\l  查看系统中现存的数据库 
\c  切换库,如template1=# \c sales 从template1转到sales库
\d  查看表和sequence
\d  table_name,查看表结构,如:\d public.t_ip或\d t_ip,虽然`\d`看不到其他schema的表,但依然可以描述表`\d wechat.stat_basic_hour`
\dt 只查看表
\di 查看索引
\du 查看有哪些用户
\dn 查看schema
\dp 显示表的权限分配情况
\q 退出客户端程序psql
SET SEARCH_PATH TO public,wechat;   设置搜索路径(不区分大小写,下同) 设置后`\d`能列出指定的schema的表和sequence
SHOW SEARCH_PATH;    查看搜索模式
SELECT USER;    查看当前是什么用户登录的
postgres=# \conninfo 查看连接信息(什么用户连的)

3. 用户相关 

创建数据库
CREATE DATABASE data_transfer;

pg 默认所有用户都可以在名称为public的schema中创建表,只读用户不允许创建,所以要收回此权限
revoke create on schema public from public;

创建schmea
create schema data_out

创建只读用户my_user
create user my_user with password 'password';

#授权数据库给用户
GRANT ALL ON DATABASE exampledb TO my_user;

#授权表给用户
GRANT ALL ON public.mpa_app TO my_user;

#授权sequence给用户
GRANT ALL ON SEQUENCE public.mpa_app_id_seq to my_user;

授权schema给用户
grant usage on schema data_out to my_user;

授权public给用户,y用户创建表
grant create on schema "public" to "my_user"

授权用户查看schema data_out下的所有表(此时库的的所有表,新增表不能看到)
grant select on all tables in schema data_out to my_user;

授权my_user用户查看新创建表的select 权限
alter default privileges in schema data_out grant select on tables to my_user;

不需要一个个地授权,授予指定schema 下所有数据表及序列的权限
grant all privileges on all tables in schema public to my_user;
grant all privileges on all sequences in schema public to my_user;

赋予默认数据表的权限
alter default privileges in schema public grant all privileges on tables to my_user;

赋予默认序列的权限
alter default privileges in schema public grant all privileges on sequences to my_user;

在指定数据为执行,回收连接public权限,防止已经创建的库未设置权限,表被访问到
revoke connect on database rohs from public;


# 修改库的所有者
alter database mytestdb owner to mpa_dev;

#修改schema所有者
alter schema wechat owner to mpa_dev;

 删除用户

# 将old_user拥有owner权限的对象转移给other_user,那么old_user将不会再拥有owner权限的对象了
# REASSIGN OWNED BY中可以将对象的拥有者修改为postgres或是其他较高权限的业务账号
REASSIGN OWNED BY old_user TO postgres;
# 在当前库中,删除用户拥有的对象;并收回在当前库赋予的任何权限
# 由于之前已经使用了REASSIGN OWNED BY,old_user用户下已无owned的对象,对于账号不只是存在owner的情况,可能用户只是查询或修改的权限,此时再使用DROP OWNED BY则可以将其他权限收回。
DROP OWNED BY old_user;
# 最后删除账号
DROP USER old_user;

案例 :

 create user my_user with password 'root';
 
 GRANT ALL ON DATABASE mydatabase TO my_user;
 
 
 grant create on schema "public" to "my_user";
 
 grant usage on schema public to my_user;

4.建库和建Schema

# 建库
CREATE DATABASE mpa_stat OWNER dbuser;
# 删除
DROP DATABASE mpa_stat;


创建、删除schema
CREATE SCHEMA myschema;   (是创建在当前数据库,使用\dn查看)
DROP SCHEMA myschema;
创建schema下的表
create table myschema.company(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   SALARY   DECIMAL (18, 2),
   PRIMARY KEY (ID)
);
查询表
select * from myschema.company;

参考:

PostgreSQL常用命令行操作-蒲公英云

PostgreSql数据库创建用户并授权_DevCsdner的博客-CSDN博客_pg数据库创建用户文章来源地址https://www.toymoban.com/news/detail-590248.html

到了这里,关于postgresql 命令行操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PostgreSQL Linux操作PostgreSQL数据库

    PostgreSQL教程 菜鸟教程:https://www.runoob.com/postgresql/postgresql-tutorial.html 登录PG数据库:psql -U 用户名(U需要大写) 登录PG数据库(指定主机、端口,并进入指定数据库): psql -U 用户名 -h 127.0.0.1 -p 5432 -d 数据库名 -U 登录的用户名 -h 连接的主机(默认127.0.0.1,可替换成远程主机

    2024年02月11日
    浏览(62)
  • Python操作PostgreSQL数据库

    个人简介 :一个从会计转行数据分析师的三旬老汉 擅长领域 :数据分析、数据仓库、大数据 博客内容 :平时会将自己工作中遇到的问题进行归纳总结,分享给各位小伙伴,意在帮助大家 少加班 、 不掉发 ,让我们相互学习,一起进步。 本文分享使用Python操作PostgreSQL数据

    2024年02月15日
    浏览(43)
  • 按键精灵、auto.js等一些移动端脚本 如何连接云服务器的数据库, 进行读写操作

    一、技术背景         按键手机版和auto.js,只支持连接本地数据库sqllite,该数据库只存在本地 其他设备无法读写,就像本地的txt一样。         而很多脚本作者的需求是:多个脚本,甚至在全国不同城市的脚本也能读取和写入同一批数据,比如云端统一配置、集中上传

    2024年02月16日
    浏览(50)
  • Dapper 操作 PostgreSQL 数据库完全指南

    Dapper 是一个高性能的 ORM 框架,可用于简化与数据库的交互。本文将详细介绍如何使用 Dapper 操作 PostgreSQL 数据库,包括连接配置、CRUD 操作以及示例代码。 首先,确保你的项目中已经添加了 Dapper 和 Npgsql 包。你可以使用以下命令进行安装: 在 appsettings.json 中添加 PostgreSQL

    2024年02月11日
    浏览(62)
  • 浪潮信息自研服务器操作系与万里安全数据库软件完美兼容 功能及性能俱佳

    日前,由浪潮信息自主研发的服务器操作系统Inspur KOS V5与万里安全数据库软件GreatDB V1.0、V5.1完成兼容性互认证测试,两款产品均展现出了优异的兼容性能及高效的运行效果,在用户数据安全、产品可控等数字化转型和可靠性需求上皆能为客户提供更全面的解决方案。 构建优

    2024年02月10日
    浏览(40)
  • PostgreSQL数据库命令行执行SQL脚本的三种方式

    生成环境中,出于安全性等原因,往往不提供数据库连接工具,所以对数据库的更新和升级就得通过命令行来实现。本文总结了三种命令行执行sql脚本的方式。 命令格式: psql [option…] [dbname] [username] 常用参数介绍: -h:指定IP地址或主机名。 -p:指定端口,默认为5432。 -U:

    2024年02月11日
    浏览(62)
  • 【postgresql 基础入门】数据库服务的管理

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 ​ 开源贡献 : toadb开源库 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 初始化集群 数据库服务管理 postgresql 数据库是一款通用的关系型数据,在开

    2024年02月10日
    浏览(50)
  • MySQL 数据库的命令操作

    1.数据 (Data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一的格式进行存储 2.表 将不同的记录组织在一起 用来存储具体数据 3.数据库 表的集合,是存储数据的仓库 以一定的组织方式存储的相互有关的数据集合 是按照数据结构

    2024年02月09日
    浏览(61)
  • MySQL数据库基本命令操作

    一、MySQL基本命令操作指令 二、查看数据库结构 1.查看当前服务器中的数据库 2.查看数据库中包含的表 3.查看表的结构(字段) 三、SQL语句 SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。 1、SQL语言分类 四、SQL语句操作 1、创建及删

    2024年02月10日
    浏览(79)
  • MariaDB数据库服务器

    目录 一、什么是数据库? 二、什么是关系型数据库? 三、数据库字符集和排序规则是什么? 四、常用数据类型 五、Mariadb数据库相关配置案例 一、什么是数据库? 数据库(DB)是以一定方式长期存储在计算机硬盘内,能与多个用户共享,具有尽可能小的冗余度、与应用程序

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包