postgresql数据库常规操作管理
admin
2023-05-21 05:42:08
0

数据库连接:
方式一:

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为新创建的数据库

相关内容

热门资讯

埃及、卡塔尔和土耳其发表联合声... △加沙地带(资料图)当地时间3日,埃及、卡塔尔和土耳其三国发表联合声明,强烈谴责以色列在加沙地带持续...
鹤壁市汽车电子电气行业技术宣讲... 为助推我市汽车电子电器产业智能化、数字化和绿色化转型升级。7月30日,由市工商联、市汽车电子电器商会...
原创 i... 新一代系统陆续推出,多方面进行升级,尤其是UI设计、AI智能体、流畅度等方面,助力新一代旗舰机全面发...
国产最强AI再次选择开源!阿里... IT之家 8 月 3 日消息,阿里巴巴千问 Qwen3.8-Max 人工智能模型今日(8 月 3 日...
特朗普:在伊朗战争期间,石油公... 美国有线电视新闻网(CNN)8月3日报道,特朗普周一表示,由于与伊朗战争相关的油价飙升,雪佛龙和埃克...
特朗普:与伊朗的谈判将分两阶段... △当地时间8月3日,美国总统特朗普在白宫回答记者提问。当地时间8月3日,美国总统特朗普在白宫回答记者...
汇艺银河里首届微醺节圆满收官 ... 多元业态协同联动,探索郑东商圈夜间消费新场景首届汇艺银河里微醺节圆满收官。活动立足郑州高铁东站商圈核...
西班牙警方:约7.35万名移民... △8月3日,西班牙北非飞地休达,从摩洛哥入境的移民聚集在海滩上。当地时间8月3日,西班牙警方表示,约...
美军称继续海上封锁伊朗,已改变... 当地时间8月3日,美国中央司令部表示,美军继续严格执行对伊朗的海上封锁。截至当天,美军已改变44艘商...
“控制”格陵兰岛,特朗普罕见列... 据美国《新闻周刊》和英国《独立报》8月2日报道,美国总统特朗普日前在接受采访时声称,格陵兰岛将在他本...