安装PostgreSQL

1pkg install postgresql

初始化运行

1# 创建目录
2mkdir -p $PREFIX/var/lib/postgresql
3
4# 初始化
5initdb $PREFIX/var/lib/postgresql

请输入图片描述

运行postpresql

1postgres -D $PREFIX/var/lib/postgresql/

后台运行

1# 后台运行
2nohup postgres -D $PREFIX/var/lib/postgresql/ &
3
4# 查看后台任务
5jobs
6
7# 关闭后台命令
8kill %<id>

请输入图片描述

进入数据库

  • 查看用户名
1whoami
  • 列出数据库
1psql -l

请输入图片描述

  • 进入命令行
1clear
  • 连接数据库
1psql -U u0_a96 -d postgres 

请输入图片描述

创建新用户和数据库

刚刚完成安装后,会生成一个postpresql的数据库和一个与系统用户名的数据库用户,在一台Debian机器安装的 PostgreSQL 对比发现,会生成postgresql的数据库和用postgresql的数据库用户,也会生成postgresql的Linux系统用户,termux是没有的postgresql用户,是共用系统的用户名。

  • 使用 CREATE 语法来进行创建用户

进入psql命令行模式,termux比较奇葩,要连默认接数据库才可以进入psql操作,可能我还没有知道更好的方法

1psql -U u0_a96 -d postgres
  • 进入后,先创建一个数据库用户并指定一个密码

这里创建一个username的用户

1create user username with password '*******';

这里注意,密码需要引号包裹,一定要以英文分号结尾不然会报错。

  • 创建一个数据库

这里创建一个pgdata的数据库

1create database pgdata owner username;
  • 将数据库的全部权限赋予某个用户

这里将pgdata的所以权全部赋予给useename

1grant all privileges on database pgdata to username;

创建用户和数据库

  • 查看刚刚创建用户和数据库

同样在控制台输入,查看是否存在数据库

查看用户

1\du

查看数据库

1\l

用户与数据库

  • 测试连接

以刚刚创建数据为例,使用username连接pgdata数据库

1psql -U username -d pgdata -h 127.0.0.1

测试连接

psql常用命令

\password : 设置密码 \q : 退出 \h : 查看SQL命令解释,如\h select \? : 查看psql命令列表 \l : 列出所以数据库 \c [table_name] : 连接其他数据库 \d : 列出当前数据库所有表格 \d [table_name] : 列出某一张表格 \du : 列出所有用户 \e : 打开文本编辑器 \connifo : 列出当前数据库和连接信息 select now(); : 查看时间 select version(); : 查看版本

数据库操作

数据库基本操作,就是使用一般的SQL语言。

 1# 创建新表
 2CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
 3
 4# 插入数据
 5INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
 6
 7# 选择记录
 8SELECT * FROM user_tbl;
 9
10# 更新数据
11UPDATE user_tbl set name = '李四' WHERE name = '张三';
12
13# 删除记录
14DELETE FROM user_tbl WHERE name = '李四' ;
15
16# 添加栏位
17ALTER TABLE user_tbl ADD email VARCHAR(40);
18
19# 更新结构
20ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
21
22# 更名栏位
23ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
24
25# 删除栏位
26ALTER TABLE user_tbl DROP COLUMN email;
27
28# 表格更名
29ALTER TABLE user_tbl RENAME TO backup_tbl;
30
31# 删除表格
32DROP TABLE IF EXISTS backup_tbl;

部分内容摘自:阮一峰的网络日志-PostgreSQL新手入门