etcd_fdw
Foreign data wrapper for etcd
Repository
cybertec-postgresql/etcd_fdw
https://github.com/cybertec-postgresql/etcd_fdw
Source
etcd_fdw-0.0.1.tar.gz
etcd_fdw-0.0.1.tar.gz
Overview
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 8660 | etcd_fdw | No | Yes | No | Yes | No | No | - |
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.0.1 | 1817161514 | etcd_fdw | - |
| RPM | PIGSTY | 0.0.1 | 1817161514 | etcd_fdw_$v | - |
| DEB | PIGSTY | 0.0.1 | 1817161514 | postgresql-$v-etcd-fdw | - |
Build
You can build the RPM / DEB packages for etcd_fdw using pig build:
Install
You can install etcd_fdw directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Install
pig
dnf
apt
Create Extension:
Usage
Sources: intro blog, GitHub repo, v0.0.1 release
Quick Start
1. Enable Extension
2. Create Foreign Data Wrapper
3. Create Server
4. Create Foreign Table
5. Query Data
6. Real-time Sync with etcd
Changes made outside PostgreSQL are immediately visible:
Reference
Server Options
| Option | Required | Description |
|---|---|---|
connstr | Yes | etcd endpoint (e.g., 127.0.0.1:2379) |
username | No | Authentication username |
password | No | Authentication password |
ssl_ca | No | CA certificate file path |
ssl_cert | No | Client certificate file path |
ssl_key | No | Client private key file path |
ssl_servername | No | Domain name for TLS verification |
connect_timeout | No | Connection timeout (default: 10s) |
request_timeout | No | Request timeout (default: 30s) |
Foreign Table Options
| Option | Default | Description |
|---|---|---|
rowid_column | Required | Column used as unique row identifier |
prefix | None | Restrict to keys with this prefix |
keys_only | false | Fetch only keys, skip values |
revision | 0 | Read at specific etcd revision |
key | \0 | Starting key for range scan |
range_end | None | Exclusive end key for range scan |
consistency | l | l (linearizable) or s (serializable) |
Query Pushdown
The following operations are pushed down to etcd for better performance:
- WHERE:
=,>=,>,<=,<,BETWEEN,LIKE 'prefix%' - ORDER BY: Remote sorting
- LIMIT/OFFSET: Remote pagination
Limitations
UPDATEon key column is not supported. Workaround:INSERTnew key, thenDELETEold key.- Requires etcd v3 API.
Version Notes
etcd_fdw 0.0.1 is the first public release. It uses pgrx 0.18.1, and the documented SQL surface is the FDW/server/table workflow above.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)