PostgreSQL操作

2022-04-13 15:18:30 浏览数 (1)

一、进入PostgreSQL数据库 Linux下切换到postgres用户,执行psql即可进入

代码语言:javascript复制
$ su  postgres
bash-4.4$ psql

此时就进入postgres数据库了。 二、pgsql操作命令

代码语言:javascript复制
1、列举数据库:l或SELECT datname FROM pg_database;
2、选择或切换数据库:c 数据库名
3、查看该某个库中的所有表:dt或d 数据库名
4、查看某个库中的某个表结构:d 表名
5、查看某个库中某个表的记录:select * from apps limit 1;
6、显示字符集:encoding
7、查看帮助:help
8、退出psgl:q
9、password test // 重新设置用户test的密码,然后需要 q退出后才生效
10、创建用户:CREATE USER test WITH PASSWORD '*****';
11、删除用户:drop User 用户名
12、给用户设置密码:alter user test password ‘123456’;

三、数据库操作:

代码语言:javascript复制
1.创建数据库:
create database [数据库名];
2。删除数据库:
drop database [数据库名]; 
3.创建表:
create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
4.在表中插入数据:
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
5.查看表内容:
select * from student;
6.重命名一个表:
alter table [表名A] rename to [表名B];
7.删除一个表:
drop table [表名]; 
8.在已有的表里添加字段:
alter table [表名] add column [字段名] [类型];
9.删除表中的字段:
alter table [表名] drop column [字段名];
10.重命名一个字段: 
alter table [表名] rename column [字段名A] to [字段名B];
11.给一个字段设置缺省值: 
alter table [表名] alter column [字段名] set default [新的默认值];
12.去除缺省值: 
alter table [表名] alter column [字段名] drop default;
13.修改表中的某行某列的数据:
update [表名] set [目标字段名]=[目标值] where [该行特征];
14.删除表中某行数据:
delete from [表名] where [该行特征];
delete from [表名];    // 删空整个表

如备份test数据库:pg_dump test>/opt/Postgresql/backup/1.bak 四、数据库启动操作

代码语言:javascript复制
/usr/pgsql-13/bin/pg_ctl -D /home/pgsql-13/data -l logfile start  #启动
/usr/pgsql-13/bin/pg_ctl -D /home/pgsql-13/data -l logfile stop  #停止
/usr/pgsql-13/bin/pg_ctl -D /home/pgsql-13/data -l logfile reload  #重启

五、数据库备份与还原 使用pg_dump操作

代码语言:javascript复制
pg_dump [OPTION]... [DBNAME]
– -h, --host=HOSTNAME : 连接到指定数据库主机地址
– -p, --port=PORT : 连接到指定数据库端口
– -U, --username=NAME : 连接使用的用户名
– -d, --dbname=DBNAME : 导出的数据库名字
– -a, --data-only:只导出数据
– -E encoding,--encoding=encoding:指定字符集编码
– -j, --jobs=NUM : 导出并发数
– -f, --file=FILENAME : 导出文件名
– -F, --format=p|c|d|t : 导出数据格式(text, 自定义转储格式,目录,tar)数据的兼容性用c更好。
– -n, --schema=schema:导出指定模式
– -t, --table=table:导出指定表(可以写多个表)
– -s, --schema-only:只导出对象定义不导出数据(只导出数据的定义)
– -Z0~9:使用gzip压缩(gzip 的压缩级别 9 压缩的级别最高)
– -c:创建对象前先删除(先drop)
– -C:创建对象
– --disable-triggers:禁用触发器(生成的备份文件加入禁用触发器的命令,导完数据后再启用)
• -S,--superuser=username:指定超级用户(disable-triggers 配合使用)

备份db数据里指定的表

代码语言:javascript复制
pg_dump -d myDB -p 5432 -t test -Fp -f black_test.sql

将数据库的表还原

代码语言:javascript复制
psql -f black_test.sql -d myDB -p 5432

0 人点赞