sql >> Database >  >> RDS >> PostgreSQL

Het gebruik van de PostgreSQL-reeks in de slaapstand heeft geen invloed op de reekstabel

Ik had hetzelfde probleem. Het is gerelateerd aan de id-toewijzingsstrategieën van Hibernate. Als u GenerationType.SEQUENCE kiest , Hibernate gebruikt de HiLo-strategie die ID's standaard in blokken van 50 toewijst. U kunt dus expliciet allocationSize . instellen waarde als volgt:

@Id 
@SequenceGenerator(name="pk_sequence",sequenceName="entity_id_seq", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
@Column(name="id", unique=true, nullable=false)
public int getId() {
    return this.id;
}

Ik heb echter ook meningen gehoord dat het gebruik van de HiLo-strategie met allocationSize=1 is geen goede gewoonte. Sommige mensen raden aan om GenerationType.AUTO te gebruiken in plaats daarvan wanneer u te maken heeft met databasebeheerde reeksen

Bijwerken: Ik ging uiteindelijk met allocatieSize =1, en de dingen lijken nu te werken zoals ik verwacht. Mijn applicatie is zodanig dat ik toch niet echt blokken met ID's nodig heb, dus YMMV.



  1. Wat is de snelste manier om tijdstempels in Postgres in te korten tot 5 minuten?

  2. Voeg gegevens in 3 tabellen tegelijk in met Postgres

  3. Geen toegang tot vooraf ingevulde SQLite-database met PhoneGap/Cordova in Android

  4. Voer SCRIPT uit vanuit PL/SQL-blok