温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

postgresql数据库常规操作管理

发布时间:2020-07-16 18:25:10 来源:网络 阅读:1679 作者:JamieYang86 栏目:数据库

数据库连接:
方式一:

psql -U test_huishishuju -d test_huishishuju

参数说明: -U 数据库用户名 -d 数据库名称
方式二:

su – postgres

-bash-4.2$ psql       进入postgres数据库

数据库用户管理:
创建用户
postgres=# create user dev_huishishuju; 或者create role dev_huishishuju; 创建数据库用户
postgres=# alter user dev_huishishuju with password '123456'; 修改数据库用户的密码为123456

设置用户权限
• 基本语法格式
CREATE或者ALTER ROLE role_name WITH optional_permissions(用户的授权);

实例:
postgres=# alter user dev_huishishuju with superuser; 修改用户的属性,设置数据库用户dev_huishishuju为superuser
postgres=# alter user dev_huishishuju with login; 给数据库用户设置登陆权限

• 设置用户权限的语法格式如下:
GRANT permission_type ON table_name TO role_name;

实例:
dev_huishishuju=# grant UPDATE ON t_sms TO rd_huishishuju ; 赋予用户rd_huishishuju对t_sms表的update权限
postgres=# grant SELECT on ALL tables in schema public to rd_huishishuju ; 赋予rd_huishishuju用户对所有表有查询权限
dev_huishishuju=# grant ALL ON t_admin to rd_huishishuju ; 赋予rd_huishishuju用户对t_admin数据库表拥有所有权限

进入数据库的常用操作:
test_huishishuju=> \help 帮助命令
test_huishishuju=> \l 显示详细的数据库信息
test_huishishuju=> \c postgres 切换postgres数据库
test_huishishuju=> \dt 或者\d 列举所在数据库的表,相当于show databases
test_huishishuju=> \d t_sms 查看t_sms表的结构
test_huishishuju=> \di 查看数据库表的索引
test_huishishuju-# \du 列出所有的用户信息
test_huishishuju-# \connect 列出当前数据库的连接信息
test_huishishuju-# \conninfo 列出当前数据库和连接的详细信息
test_huishishuju=# \q 退出当前操作
dev_huishishuju=# \dp或者\z 显示用户的对所有数据库表的详细访问权限
数据库管理:
postgres=# create database beiyi; 创建数据库beiyi
postgres=# drop database beiyi; 删除数据库beiyi
postgres=# alter database dev_huishishuju OWNER TO dev_huishishuju ; 修改数据库的用户归属

表管理:
postgres=# \c beiyi 切换到beiyi数据库
beiyi=# create table user_beiyi(name VARCHAR(20), signup_date DATE); 创建user_beiyi表
beiyi=# INSERT INTO user_beiyi (name, signup_date) VALUES('张三', '2013-12-22'); user_beiyi表中插入数据
test_huishishuju-# alter table test_huishishuju add column name character varying(16); 在表test_huishishuju里添加字段,说明:name为字段名,character varying(16)为字段类型
beiyi-# dorp table user_beiyi 删除数据库表user_beiyi

数据库表的备份与恢复:
#pg_dump -h 192.168.2.242 -U postgres -p 5432 -t t_sms dev_huishishuju > t_sms.db

pg_dump -h 192.168.2.242 -U postgres -p 5432 -c --if-exists -t t_sms dev_huishishuju > t_sms.db 远程备份

-bash-4.2$ psql -f t_sms.db -d test_huishishuju 切换postgres用户,还原必须要保证有权限

数据库的备份与还原

pg_dump -h 192.168.2.242 -U postgres -p 5432 -c --if-exists dev_huishishuju > dev_huishishuju.sql 备份192.168.2.242数据库上的dev_huishishuju数据库

-bash-4.2$ psql -f dev_huishishuju.sql -d dev_huishishuju 还原数据库,dev_huishishuju.sql为备份文件,dev_huishishuju为新创建的数据库

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI