登录控制台
root@kali:~# sudo -u postgres psql
psql (10.5 (Debian 10.5-1))
Type "help" for help.
postgres=#
其他用户登陆命令
psql -U 用户名 -d 数据库名 -h 链接地址 -p 端口
设置postgres密码
postgres=# \password postgres
创建一个新用户msf_db
因为postgers用户具有很高的权限,通常我们不会直接以这个身份登录,而是会另外创建一个新用户。
postgres=# CREATE USER msf_db WITH PASSWORD 'admin';
CREATE ROLE
为这个用户创建一个数据库msf_db
CREATE DATABASE 数据库名 OWNER 用户名
postgres=# CREATE DATABASE msf_db OWNER msf_db;
CREATE DATABASE
常用命令
\password 设置密码
\q 退出
\h 查看SQL命令的解释,比如\h select
\? 查看psql命令列表
\l 列出所有数据库
\x 对数据做展开操作
\du 列出所有用户
\d 列出当前数据库的所有表格
\c [database_name] 连接其他数据库
\dt: 连接进入到某个数据库后,使用此命令查看数据库中的所有表;
\d TableName: 查看某个表的结构,此命令可以用来查看某个表中的列元素和相应的数据类型;
创建数据库用户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;
postgresql数据库备份恢复
备份命令:pg_dump -U postgres -d template_postgis -f template_postgis.sql
恢复命令:psql -U postgres -h 127.0.0.1 -d gis -f template_postgis.sql