分类目录归档:Databases

【置顶】pg数据库数据备份


使用 psql

1. 备份所有表不包含数据库

pg_dump -U <username> -d <database_name> -f /path/to/backup/file.sql

3. 命令恢复数据库

psql -U <username> -d <database_name> -f /path/to/backup/file

2. 备份整个数据库

pg_dump -U <username> -d <database_name> -f 20240618-01.sql --create

# 直接备份到外部文件
do

< Read more >

【置顶】mongodb备份恢复


备份单个表

mongoexport --authenticationDatabase admin -u debug -p debug --db eform --collection __schema__ --out 123.json

恢复单个表

mongoimport --authenticationDatabase admin -u debug -p debug --db eform --collection __schema__1 --jsonArray eform.__schema__.json

备份真个数据库

docker exec $DOCKER_CONTAINER mong

< Read more >

[ 数据库字段长度截取 ]


可以,SQL 层面可以直接截取 body 字段的前 N 个字符,避免拉取全部内容再截断。 不同数据库有不同的字符串截取函数:

MySQL 用 LEFT(body, 200) PostgreSQL 用 SUBSTRING(body FROM 1 FOR 200)

golang

    sql := fmt.Sprintf(`
        SELECT 
            id,
            title,
            LEFT(body, 300) AS body,
            created_time,
            last_mod_ti

< Read more >

[ django中使用mongodb,mongoengine ]


官方文档(http://docs.mongoengine.org/guide/querying.html)

安装模块

pip install mongoengine

可以完全替代django中的原本的mongodb

from mongoengine import Document, StringField, BooleanField, DateTimeField, DictField, connect
from datetime import datetime

connect(
    db="eform",
    username="debug"

< Read more >

[ postgre主从复制 ]


postgre主从复制[https://gitee.com/chen-haifeng1/pg_master_slave]

1.参考的文档

2. bilibili参考视频

一. 部署使用docker compose 启动两个postgre数据库

docker-compose.yml

version: "3.1"

networks:
  mynet:
    driver: bridge

services:
  postgres-master:
    image: postgres:13.5
    environment:
      - POSTGRES_USER=m

< Read more >

[ mongodb使用 ]


  1. 分布式文件存储的开源数据库
  2. 非关系型 , 可拓展性(bson), 可拓展型, 搞性能, 高可用(多节点)
  3. 是一个NoSql数据库
SQL术语/概念 MogoDb术语/概念 解释/说明
database database 数据库
table collection 数据库表
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins 表连接,mongodb不支持
primary key primary key 主键, mongodb自动将_id字段设置为主键

MongoD

< Read more >

[ mysql修改事务隔离级别 ]


mysql> select @@tx_isolation;
+-----------------+
| @@tx_isolation  |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set, 1 warning (0.00 sec)

mysql> set session transaction isolation level read committed;
Query OK, 0 rows affected (0.00 sec)
  • 与乐观锁配合使用READ-COMMITTED 读取

< Read more >