postgresql数据库的基本使用
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
PostgreSQL是一个开源的、对象关系型数据库管理系统(ORDBMS)。
启动postgresql数据库
root@kali:~# service postgresql start
- 1
只要将这里的start改为stop和restart,就可以实现服务的停止和重启
在初次安装完成后,pg默认已经进行了如下的操作:创建了一个名为postgres的数据库用户和一个名为postgres的数据库,同时还创建了一个名为postgres的Linux系统用户。实际上,这里创建的postgres数据库用户拥有超级管理员身份,可以访问我们后面所创建的所有数据库,同时可以进行创建新数据库用户和修改用户密码等操作。
登录控制台
root@kali:~# sudo -u postgres psql
psql (10.5 (Debian 10.5-1))
Type "help" for help.
postgres=#
- 1
- 2
- 3
- 4
- 5
设置postgres密码
postgres=# password postgres
- 1
因为postgers用户具有很高的权限,通常我们不会直接以这个身份登录,而是会另外创建一个新用户。
创建一个新用户msf_db
postgres=# CREATE USER msf_db WITH PASSWORD 'admin';
CREATE ROLE
- 1
- 2
为这个用户创建一个数据库msf_db
CREATE DATABASE 数据库名 OWNER 用户名
postgres=# CREATE DATABASE msf_db OWNER msf_db;
CREATE DATABASE
- 1
- 2
- 3
常用命令
password 设置密码
q 退出
h 查看SQL命令的解释,比如h select
? 查看psql命令列表
l 列出所有数据库
c [database_name] 连接其他数据库
d 列出当前数据库的所有表格
d [table_name] 列出某一张表格的结构
x 对数据做展开操作
du 列出所有用户
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
l:列出所有的数据库;
c DatabaseName:连接数据库;
dt:连接进入到某个数据库后,使用此命令查看数据库中的所有表;
d TableName:查看某个表的描述,此命令可以用来查看某个表中的列元素和相应的数据类型;
- 1
- 2
- 3
- 4
创建数据库用户xxx
CREATE USER xxx WITH PASSWORD 'xxxxxx';
创建数据库yyy并指定全部者为xxx
CREATE DATABASE yyy OWNER xxx;
将对数据库yyy的全部操作权限赋给用户xxx,否则xxx仅仅能登录控制台,没有不论什么数据库的操作权限
GRANT ALL PRIVILEGES ON DATABASE yyy to xxx;
删除数据库yyy
DROP DATABASE yyy;
删除用户xxx
DROP USER XXX;