Ridge Pgwire e driver

ridged espone un limitato PostgreSQL-wire sottoinsieme v3 su loopback. Pgwire è un contratto di trasporto; non rende Ridge un PostgreSQL servitore.

Endpoint predefinito

Impostazione Predefinito
Ospite 127.0.0.1
Porto 7898
Banca dati ridge
Utente ridge
Messaggio massimo 1 MB

Mantieni l'ascoltatore in loopback. Per un host remoto, utilizzare Ridge Admin è verificato SSH direct-tcpip trasporto o controllato da un operatore SSH connessione.

Configurazione della sicurezza

Il bootstrap di prima esecuzione crea la directory dei dati, un superutente durevole e il database iniziale in un'operazione ripristinabile, quindi stampa le istruzioni di connessione:

ridged --init --data=/absolute/path/to/ridge --password=SECRET

Il catalogo arriva a {data}/security.catalog con autorizzazioni riservate al proprietario. Un server avviato con lo stesso --data lo rileva automaticamente; non è richiesta alcuna configurazione dell'ambiente. La riesecuzione di --init rispetto a un catalogo valido segnala l'inizializzazione esistente invece di sostituirla.

Il servizio riconosce comunque l'ambiente dell'operatore:

RIDGE_PGWIRE_PORT
RIDGE_PGWIRE_DATABASE
RIDGE_PGWIRE_USER
RIDGE_PGWIRE_PASSWORD
RIDGE_PGWIRE_READ_ONLY
RIDGE_PGWIRE_TLS_CERT
RIDGE_PGWIRE_TLS_KEY
RIDGE_SECURITY_CATALOG

RIDGE_PGWIRE_USER/RIDGE_PGWIRE_PASSWORD/RIDGE_PGWIRE_DATABASE sono input di bootstrap e migrazione una tantum, non il percorso di onboarding principale. RIDGE_SECURITY_CATALOG sovrascrive la posizione del catalogo quando il catalogo deve trovarsi all'esterno della directory dei dati.

L'autenticazione della password è in chiaro all'interno del canale TLS verificato. Ridge non rivendica SCRAM, identità del certificato o un comportamento di privilegi PostgreSQL ampio oltre il catalogo di sicurezza documentato. Proteggi il file di ambiente con autorizzazioni restrittive.

Superficie del protocollo

Il demone supporta l'avvio, la negoziazione SSL, la query semplice e il testo delimitato Parse/Bind/Describe/Execute/Sync ciclo di vita. Conserva transaction/error stato, parameter/result metadati, NULL digitati, valori di testo binari sicuri, named/unnamed dichiarazioni, riassociazione e raggruppamento di portali delimitati, cancellazione e DISCARD ALL.

Le funzionalità non supportate includono COPY, formati binari generali, Describe Portal relazionale JDBC e ampi cataloghi.

Clienti convalidati

Cliente Prove congelate
libpq/psql 17.5
JDBC 42.7.7
Vai a pgx 5.7.5
Psycopg Python 3.2.9
Nodo pag 8.16.3

Vengono rivendicate solo le impostazioni di test documentate e le forme di query. Un ORM può ancora fallire se previsto PostgreSQL cataloghi, parametri del server, migrazioni o codifiche binarie esterne al sottoinsieme.

Connessione di base

psql -X -h 127.0.0.1 -p 7898 -U ridge -d ridge
pg_isready -h 127.0.0.1 -p 7898 -d ridge

Utilizzare un pool di connessioni limitato. Alla disconnessione, la riproduzione del lavoro di sola lettura solo quando il chiamante lo consente esplicitamente. Non riprodurre mai una mutazione il cui riconoscimento è andato perduto; il suo esito è incerto finché non sarà verificato.