PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Phân vùng postgresql và sqlalchemy

Bạn có thể sử dụng MeasureMixin mà cả hai lớp đều có thể kế thừa. Và sau đó sử dụng event để đính kèm phân vùng bảng.

from sqlalchemy import event

class MeasureMixin:
    city_id = Column(Integer, not_null=True)
    log_date = Column(Date, not_null=True)
    peaktemp = Column(Integer)
    unitsales = Column(Integer)

class Measure(MeasureMixin, Base):
    __tablename__ = 'measures'
    __table_args__ = {
        postgresql_partition_by: 'RANGE (log_date)'
    }

class Measure2020(MeasureMixin, Base):
    __tablename__ = 'measures2020'

Measure2020.__table__.add_is_dependent_on(Measure.__table__)

event.listen(
    Measure2020.__table__,
    "after_create",
    DDL("""ALTER TABLE measures ATTACH PARTITION measures2020
VALUES FROM ('2020-01-01') TO ('2021-01-01');""")
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tên cột PL / pgSQL giống như biến

  2. Postgres JSONB đệ quy

  3. Thứ tự sắp xếp xác định cho các hàm cửa sổ

  4. Làm cách nào để lọc cột mảng PostgreSQL bằng API tiêu chí JPA?

  5. Cách tìm bảng con kế thừa từ bảng khác trong PSQL