Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  backend_startup.h

  Sprache: C
 

/*-------------------------------------------------------------------------
 *
 * backend_startup.h
 *   prototypes for backend_startup.c.
 *
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/include/tcop/backend_startup.h
 *
 *-------------------------------------------------------------------------
 */

#ifndef BACKEND_STARTUP_H
#define BACKEND_STARTUP_H

#include "utils/timestamp.h"

/* GUCs */
extern PGDLLIMPORT bool Trace_connection_negotiation;
extern PGDLLIMPORT uint32 log_connections;
extern PGDLLIMPORT char *log_connections_string;

/* Other globals */
extern PGDLLIMPORT struct ConnectionTiming conn_timing;

/*
 * CAC_state is passed from postmaster to the backend process, to indicate
 * whether the connection should be accepted, or if the process should just
 * send an error to the client and close the connection.  Note that the
 * connection can fail for various reasons even if postmaster passed CAC_OK.
 */

typedef enum CAC_state
{
 CAC_OK,
 CAC_STARTUP,
 CAC_SHUTDOWN,
 CAC_RECOVERY,
 CAC_NOTHOTSTANDBY,
 CAC_TOOMANY,
} CAC_state;

/* Information passed from postmaster to backend process in 'startup_data' */
typedef struct BackendStartupData
{
 CAC_state canAcceptConnections;

 /*
  * Time at which the connection client socket is created. Only used for
  * client and wal sender connections.
 */

 TimestampTz socket_created;

 /*
  * Time at which the postmaster initiates process creation -- either
  * through fork or otherwise. Only used for client and wal sender
  * connections.
 */

 TimestampTz fork_started;
} BackendStartupData;

/*
 * Granular control over which messages to log for the log_connections GUC.
 *
 * RECEIPT, AUTHENTICATION, AUTHORIZATION, and SETUP_DURATIONS are different
 * aspects of connection establishment and backend setup for which we may emit
 * a log message.
 *
 * ALL is a convenience alias equivalent to all of the above aspects.
 *
 * ON is backwards compatibility alias for the connection aspects that were
 * logged in Postgres versions < 18.
 */

typedef enum LogConnectionOption
{
 LOG_CONNECTION_RECEIPT = (1 << 0),
 LOG_CONNECTION_AUTHENTICATION = (1 << 1),
 LOG_CONNECTION_AUTHORIZATION = (1 << 2),
 LOG_CONNECTION_SETUP_DURATIONS = (1 << 3),
 LOG_CONNECTION_ON =
  LOG_CONNECTION_RECEIPT |
  LOG_CONNECTION_AUTHENTICATION |
  LOG_CONNECTION_AUTHORIZATION,
 LOG_CONNECTION_ALL =
  LOG_CONNECTION_RECEIPT |
  LOG_CONNECTION_AUTHENTICATION |
  LOG_CONNECTION_AUTHORIZATION |
  LOG_CONNECTION_SETUP_DURATIONS,
}   LogConnectionOption;

/*
 * A collection of timings of various stages of connection establishment and
 * setup for client backends and WAL senders.
 *
 * Used to emit the setup_durations log message for the log_connections GUC.
 */

typedef struct ConnectionTiming
{
 /*
  * The time at which the client socket is created and the time at which
  * the connection is fully set up and first ready for query. Together
  * these represent the total connection establishment and setup time.
 */

 TimestampTz socket_create;
 TimestampTz ready_for_use;

 /* Time at which process creation was initiated */
 TimestampTz fork_start;

 /* Time at which process creation was completed */
 TimestampTz fork_end;

 /* Time at which authentication started */
 TimestampTz auth_start;

 /* Time at which authentication was finished */
 TimestampTz auth_end;
} ConnectionTiming;

pg_noreturn extern void BackendMain(const void *startup_data, size_t startup_data_len);

#endif       /* BACKEND_STARTUP_H */

Messung V0.5 in Prozent
C=93 H=95 G=93

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002