Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

ipc

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Alvaro Herrera authored
    unnecessary #include lines in it.  Also, move some tuple routine prototypes and
    macros to htup.h, which allows removal of heapam.h inclusion from some .c
    files.
    
    For this to work, a new header file access/sysattr.h needed to be created,
    initially containing attribute numbers of system columns, for pg_dump usage.
    
    While at it, make contrib ltree, intarray and hstore header files more
    consistent with our header style.
    f8c4d7db
    History
    $PostgreSQL: pgsql/src/backend/storage/ipc/README,v 1.5 2008/03/20 17:55:15 momjian Exp $
    
    Cache Invalidation Synchronization Routines
    ===========================================
    
    Mon Jul 18 11:09:22 PDT 1988  W.KLAS
    
    The cache synchronization is done using a message queue. Every
    backend can register a message which then has to be read by
    all backends. A message read by all backends is removed from the 
    queue automatically. If a message has been lost because the buffer
    was full, all backends that haven't read this message will be
    told that they have to reset their cache state. This is done
    at the time when they try to read the message queue.
    
    The message queue is implemented as a shared buffer segment. Actually,
    the queue is a circle to allow fast inserting, reading (invalidate data) and
    maintaining the buffer.