postgres基本操作(个人总结版)

postgres 基本操作

登录
$ psql (连接数据库,默认用户和数据库都是postgres)
$ psql -U <user> -d <dbname> 
数据库操作

// 列举数据库,相当于show databases

$ \l

// 切换数据库,相当与use dbname

$ \c <dbname>

// 列举表,相当与show tables

$ \dt

// 查看表结构,相当于desc

$ \d tblname

// 创建数据库

$ create database <dbname>

// 删除数据库

$ drop database <dbname>

// 创建表

$ create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;); 

// 在表中插入数据

$ insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);

// 备份数据库

$ pg_dump -U postgres -f /tmp/postgres.sql postgres (导出postgres数据库保存为postgres.sql)
$ pg_dump -U postgres -f /tmp/postgres.sql -t test01 postgres (导出postgres数据库中表test01的数据)
$ pg_dump -U postgres -F t -f /tmp/postgres.tar postgres (导出postgres数据库以tar形式压缩保存为postgres.tar)

// 恢复数据库

$ psql -U postgres -f /tmp/postgres.sql bk01 (恢复postgres.sql数据到bk01数据库)
$ pg_restore -U postgres -d bk01 /tmp/postgres.tar  (恢复postgres.tar数据到bk01数据库)
用户操作

// 切换用户

$ \c - <username>

// 创建用户并设置密码

$ CREATE USER 'username' WITH PASSWORD 'password';
$ CREATE ROLE 'username' CREATEDB PASSWORD 'password' LOGIN; (创建角色并授予创建数据库及密码登录的属性)

// 修改用户密码

$ ALTER USER 'username' WITH PASSWORD 'password';

// 数据库授权

$ GRANT ALL PRIVILEGES ON DATABASE 'dbname' TO 'username';

// 修改用户权限

$ ALTER ROLE 'username' createdb ; (授予创建数据库权限)
$ ALTER ROLE 'username' superuser ;(授予超级管理员权限)

// 角色属性

属性说明
login只有具有 LOGIN 属性的角色可以用做数据库连接的初始角色名。
superuser数据库超级用户
createdb创建数据库权限
createrole允许其创建或删除其他普通的用户角色(超级用户除外)
replication做流复制的时候用到的一个用户属性,一般单独设定。
password在登录时要求指定密码时才会起作用,比如md5或者password模式,跟客户端的连接认证方式有关
inherit用户组对组员的一个继承标志,成员可以继承用户组的权限特性
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值