postgresql数据库的基本使用
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;