当前位置: 首页 > article >正文

【数据库】postgres数据库命令

在这里插入图片描述
在这里插入图片描述

1 postgres数据库命令操作

# 登录数据库:
psql -h 服务器 -p 端口号 -U 用户名 -d 数据库 --password
psql -h localhost -p 5432 -U postgres --password
psql -h localhost -p 5432 -U jinjin --password	
# 创建数据库:
create database mydata1;
# 查看数据库:
\l
# 切换数据库:
\c mydata1;
# 删除数据库:
drop database mydata1;
# 退出当前数据库:
\q
# 创建表
CREATE TABLE users (
    user_id SERIAL PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    age INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
# 插入数据:
INSERT INTO users (username, email, age, created_at)
VALUES ('john_doe', 'john@example.com', 30, CURRENT_TIMESTAMP),
       ('jane_doe', 'jane@example.com', 28, '2022-04-10 12:00:00');
# 插入部分内容:
INSERT INTO users (username)
VALUES ('jinjin'),
 ('xiaohua');
# 查看数据库中所有表
\dt
# 查看表结构
\d 表名
# 更新数据
UPDATE users
SET age = 31,
    email = 'john_updated@example.com'
WHERE username = 'jinjin';
# 查询数据
SELECT * FROM users;

2 postgres数据库备份

2.1 基本使用

psql --version  
pg_dump --version
  1. 导出单表数据
    使用pg_dump时,可以通过-t参数指定要备份的表名。例如,要导出名为my_table的表,可以使用以下命令:
pg_dump -h host_name -U username -p port_number -d database_name -t my_table > my_table.sql
pg_dump -h 127.0.0.1 -U postgres -p 5432 -d postgres -t dify > dify.sql

这里,host_name是数据库服务器的主机名或IP地址,username是数据库用户名,port_number是数据库端口(PostgreSQL默认是5432),database_name是数据库名称。
2. 导出多个表数据
如果需要导出多个表,可以多次使用-t参数。例如,导出my_table和another_table:

pg_dump -h host_name -U username -p port_number -d database_name -t my_table -t another_table > tables.sql
  1. 只导出表结构
    使用-s参数可以只导出表结构(schema),而不包括数据。例如:
pg_dump -h host_name -U username -p port_number -d database_name -s -t my_table > my_table_structure.sql
  1. 只导出数据
    虽然pg_dump没有直接的参数只导出数据而不包括表结构,但可以通过组合使用参数和后期处理来实现。不过,一个常用的方法是使用pg_dump导出整个表,然后删除其中的表创建语句。

2.2 高级选项

  • 指定编码:使用-E参数可以指定导出数据的编码格式,如UTF8。
  • 使用INSERT语句:通过–inserts参数,pg_dump会以INSERT语句的形式导出数据,这有助于将数据导入到其他类型的数据库系统(尽管性能可能不如默认的COPY方法)。
  • 压缩输出:可以通过重定向输出到gzip等工具来压缩导出的SQL文件,例如pg_dump … | gzip > backup.sql.gz。

2.3 注意事项

  • 备份期间避免DDL操作:在备份过程中,尽量避免执行DDL(数据定义语言)操作,如CREATE TABLE、ALTER TABLE等,因为这些操作可能会锁表,导致备份失败。
  • 备份时间选择:尽量选择业务低峰期进行备份,以避免对业务造成影响。
  • 备份空间管理:合理设置备份周期和备份空间,避免不必要的费用和资源浪费。

http://www.kler.cn/news/363360.html

相关文章:

  • win10中mysql数据库binlog恢复
  • LabVIEW提高开发效率技巧----离线调试
  • 机器视觉相机自动对焦算法
  • ASIO网络调试助手之四:浅谈QTcpServer性能
  • 卡牌抽卡机小程序,带来新鲜有趣的拆卡体验
  • 【鼠鼠学AI代码合集#8】线性神经网络
  • 【树莓派 5B】Python 版本切换
  • C++之《剑指offer》学习记录(6):unordered_set和unordered_map
  • Proteus8使用教程
  • 如何使用pycharm测试自己的后端接口
  • 使用.NET MAUI开发第一个安卓APP
  • Fine-tuning 和 LoRA 和 QLoRA的区别
  • 常用于OBD系统的单端K总线收发器芯片资料:CSM9241
  • 【学习笔记】RFID
  • Facebook网页版登录不了是什么原因?如何解决?
  • Jtti:服务器GPU占用率过高是好事还是坏事?
  • 数字三角形模型
  • Vue前端开发:单向数据绑定
  • 中信银行深化ESG理念 以金融高质量发展助力金融强国建设
  • asp.net core mvc发布时输出视图文件Views
  • CSP-J复赛集训200-300分(5):[CSP-J 2021] 插入排序
  • 【计算机网络】HTTP报文详解,HTTPS基于HTTP做了哪些改进?(面试经典题)
  • vue3学习记录-自定义指令
  • Python3入门--数据类型
  • 国内常见的 AI 工具,你都用过几个?
  • 【Android】自定义EditText