sqlite_fdw

sqlite_fdw

sqlite_fdw : SQLite Foreign Data Wrapper

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
8640
sqlite_fdw
sqlite_fdw
2.5.0
FDW
PostgreSQL
C
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
See Also
mysql_fdw
file_fdw
postgres_fdw
wrappers
multicorn
odbc_fdw
jdbc_fdw
duckdb_fdw

break on el8 due to sqlite-lib version low

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PGDG
2.5.0
18
17
16
15
14
sqlite_fdw-
RPM
PGDG
2.5.0
18
17
16
15
14
sqlite_fdw_$v-
DEB
PGDG
2.5.0
18
17
16
15
14
postgresql-$v-sqlite-fdw-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
MISS
PGDG 2.4.0
PGDG 2.4.0
PGDG 2.4.0
PGDG 2.4.0
el8.aarch64
MISS
PGDG 2.4.0
PGDG 2.4.0
PGDG 2.4.0
PGDG 2.4.0
el9.x86_64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
el9.aarch64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
el10.x86_64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
el10.aarch64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
d12.x86_64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
d12.aarch64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
d13.x86_64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
d13.aarch64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
u22.x86_64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
u22.aarch64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
u24.x86_64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
u24.aarch64
MISS
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PIGSTY 2.5.0
PackageVersionOSORGSIZEFile URL
sqlite_fdw_172.4.0el8.x86_64pgdg57.9 KiBsqlite_fdw_17-2.4.0-4PGDG.rhel8.x86_64.rpm
sqlite_fdw_172.4.0el8.aarch64pgdg55.3 KiBsqlite_fdw_17-2.4.0-4PGDG.rhel8.aarch64.rpm
sqlite_fdw_172.5.0el9.x86_64pigsty65.7 KiBsqlite_fdw_17-2.5.0-2PIGSTY.el9.x86_64.rpm
sqlite_fdw_172.5.0el9.x86_64pgdg64.9 KiBsqlite_fdw_17-2.5.0-1PGDG.rhel9.x86_64.rpm
sqlite_fdw_172.4.0el9.x86_64pgdg56.9 KiBsqlite_fdw_17-2.4.0-4PGDG.rhel9.x86_64.rpm
sqlite_fdw_172.5.0el9.aarch64pigsty64.1 KiBsqlite_fdw_17-2.5.0-2PIGSTY.el9.aarch64.rpm
sqlite_fdw_172.5.0el9.aarch64pgdg63.3 KiBsqlite_fdw_17-2.5.0-1PGDG.rhel9.aarch64.rpm
sqlite_fdw_172.4.0el9.aarch64pgdg55.3 KiBsqlite_fdw_17-2.4.0-4PGDG.rhel9.aarch64.rpm
sqlite_fdw_172.5.0el10.x86_64pigsty67.1 KiBsqlite_fdw_17-2.5.0-2PIGSTY.el10.x86_64.rpm
sqlite_fdw_172.5.0el10.x86_64pgdg66.8 KiBsqlite_fdw_17-2.5.0-2PGDG.rhel10.x86_64.rpm
sqlite_fdw_172.5.0el10.aarch64pigsty65.1 KiBsqlite_fdw_17-2.5.0-2PIGSTY.el10.aarch64.rpm
sqlite_fdw_172.5.0el10.aarch64pgdg64.6 KiBsqlite_fdw_17-2.5.0-2PGDG.rhel10.aarch64.rpm
postgresql-17-sqlite-fdw2.5.0d12.x86_64pigsty153.7 KiBpostgresql-17-sqlite-fdw_2.5.0-1PIGSTY~bookworm_amd64.deb
postgresql-17-sqlite-fdw2.5.0d12.aarch64pigsty148.9 KiBpostgresql-17-sqlite-fdw_2.5.0-1PIGSTY~bookworm_arm64.deb
postgresql-17-sqlite-fdw2.5.0d13.x86_64pigsty154.1 KiBpostgresql-17-sqlite-fdw_2.5.0-1PIGSTY~trixie_amd64.deb
postgresql-17-sqlite-fdw2.5.0d13.aarch64pigsty150.0 KiBpostgresql-17-sqlite-fdw_2.5.0-1PIGSTY~trixie_arm64.deb
postgresql-17-sqlite-fdw2.5.0u22.x86_64pigsty188.4 KiBpostgresql-17-sqlite-fdw_2.5.0-1PIGSTY~jammy_amd64.deb
postgresql-17-sqlite-fdw2.5.0u22.aarch64pigsty185.7 KiBpostgresql-17-sqlite-fdw_2.5.0-1PIGSTY~jammy_arm64.deb
postgresql-17-sqlite-fdw2.5.0u24.x86_64pigsty159.5 KiBpostgresql-17-sqlite-fdw_2.5.0-1PIGSTY~noble_amd64.deb
postgresql-17-sqlite-fdw2.5.0u24.aarch64pigsty156.8 KiBpostgresql-17-sqlite-fdw_2.5.0-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
sqlite_fdw_162.4.0el8.x86_64pgdg57.6 KiBsqlite_fdw_16-2.4.0-1PGDG.rhel8.x86_64.rpm
sqlite_fdw_162.4.0el8.aarch64pgdg55.1 KiBsqlite_fdw_16-2.4.0-1PGDG.rhel8.aarch64.rpm
sqlite_fdw_162.5.0el9.x86_64pigsty64.8 KiBsqlite_fdw_16-2.5.0-2PIGSTY.el9.x86_64.rpm
sqlite_fdw_162.5.0el9.x86_64pgdg63.9 KiBsqlite_fdw_16-2.5.0-1PGDG.rhel9.x86_64.rpm
sqlite_fdw_162.4.0el9.x86_64pgdg56.4 KiBsqlite_fdw_16-2.4.0-1PGDG.rhel9.x86_64.rpm
sqlite_fdw_162.5.0el9.aarch64pigsty63.2 KiBsqlite_fdw_16-2.5.0-2PIGSTY.el9.aarch64.rpm
sqlite_fdw_162.5.0el9.aarch64pgdg62.5 KiBsqlite_fdw_16-2.5.0-1PGDG.rhel9.aarch64.rpm
sqlite_fdw_162.4.0el9.aarch64pgdg54.8 KiBsqlite_fdw_16-2.4.0-1PGDG.rhel9.aarch64.rpm
sqlite_fdw_162.5.0el10.x86_64pigsty66.1 KiBsqlite_fdw_16-2.5.0-2PIGSTY.el10.x86_64.rpm
sqlite_fdw_162.5.0el10.x86_64pgdg65.8 KiBsqlite_fdw_16-2.5.0-2PGDG.rhel10.x86_64.rpm
sqlite_fdw_162.5.0el10.aarch64pigsty64.2 KiBsqlite_fdw_16-2.5.0-2PIGSTY.el10.aarch64.rpm
sqlite_fdw_162.5.0el10.aarch64pgdg63.8 KiBsqlite_fdw_16-2.5.0-2PGDG.rhel10.aarch64.rpm
postgresql-16-sqlite-fdw2.5.0d12.x86_64pigsty151.7 KiBpostgresql-16-sqlite-fdw_2.5.0-1PIGSTY~bookworm_amd64.deb
postgresql-16-sqlite-fdw2.5.0d12.aarch64pigsty147.4 KiBpostgresql-16-sqlite-fdw_2.5.0-1PIGSTY~bookworm_arm64.deb
postgresql-16-sqlite-fdw2.5.0d13.x86_64pigsty152.0 KiBpostgresql-16-sqlite-fdw_2.5.0-1PIGSTY~trixie_amd64.deb
postgresql-16-sqlite-fdw2.5.0d13.aarch64pigsty148.0 KiBpostgresql-16-sqlite-fdw_2.5.0-1PIGSTY~trixie_arm64.deb
postgresql-16-sqlite-fdw2.5.0u22.x86_64pigsty183.5 KiBpostgresql-16-sqlite-fdw_2.5.0-1PIGSTY~jammy_amd64.deb
postgresql-16-sqlite-fdw2.5.0u22.aarch64pigsty181.0 KiBpostgresql-16-sqlite-fdw_2.5.0-1PIGSTY~jammy_arm64.deb
postgresql-16-sqlite-fdw2.5.0u24.x86_64pigsty157.0 KiBpostgresql-16-sqlite-fdw_2.5.0-1PIGSTY~noble_amd64.deb
postgresql-16-sqlite-fdw2.5.0u24.aarch64pigsty155.1 KiBpostgresql-16-sqlite-fdw_2.5.0-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
sqlite_fdw_152.4.0el8.x86_64pgdg58.0 KiBsqlite_fdw_15-2.4.0-1PGDG.rhel8.x86_64.rpm
sqlite_fdw_152.3.0el8.x86_64pgdg53.4 KiBsqlite_fdw_15-2.3.0-1.rhel8.x86_64.rpm
sqlite_fdw_152.2.0el8.x86_64pgdg159.1 KiBsqlite_fdw_15-2.2.0-1.rhel8.x86_64.rpm
sqlite_fdw_152.4.0el8.aarch64pgdg55.4 KiBsqlite_fdw_15-2.4.0-1PGDG.rhel8.aarch64.rpm
sqlite_fdw_152.3.0el8.aarch64pgdg50.6 KiBsqlite_fdw_15-2.3.0-1.rhel8.aarch64.rpm
sqlite_fdw_152.2.0el8.aarch64pgdg155.8 KiBsqlite_fdw_15-2.2.0-1.rhel8.aarch64.rpm
sqlite_fdw_152.5.0el9.x86_64pigsty67.0 KiBsqlite_fdw_15-2.5.0-2PIGSTY.el9.x86_64.rpm
sqlite_fdw_152.5.0el9.x86_64pgdg66.1 KiBsqlite_fdw_15-2.5.0-1PGDG.rhel9.x86_64.rpm
sqlite_fdw_152.4.0el9.x86_64pgdg58.1 KiBsqlite_fdw_15-2.4.0-1PGDG.rhel9.x86_64.rpm
sqlite_fdw_152.3.0el9.x86_64pgdg53.5 KiBsqlite_fdw_15-2.3.0-1.rhel9.x86_64.rpm
sqlite_fdw_152.2.0el9.x86_64pgdg162.0 KiBsqlite_fdw_15-2.2.0-1.rhel9.x86_64.rpm
sqlite_fdw_152.5.0el9.aarch64pigsty65.7 KiBsqlite_fdw_15-2.5.0-2PIGSTY.el9.aarch64.rpm
sqlite_fdw_152.5.0el9.aarch64pgdg64.6 KiBsqlite_fdw_15-2.5.0-1PGDG.rhel9.aarch64.rpm
sqlite_fdw_152.4.0el9.aarch64pgdg56.6 KiBsqlite_fdw_15-2.4.0-1PGDG.rhel9.aarch64.rpm
sqlite_fdw_152.3.0el9.aarch64pgdg52.3 KiBsqlite_fdw_15-2.3.0-1.rhel9.aarch64.rpm
sqlite_fdw_152.2.0el9.aarch64pgdg159.6 KiBsqlite_fdw_15-2.2.0-1.rhel9.aarch64.rpm
sqlite_fdw_152.5.0el10.x86_64pigsty68.0 KiBsqlite_fdw_15-2.5.0-2PIGSTY.el10.x86_64.rpm
sqlite_fdw_152.5.0el10.x86_64pgdg67.6 KiBsqlite_fdw_15-2.5.0-2PGDG.rhel10.x86_64.rpm
sqlite_fdw_152.5.0el10.aarch64pigsty66.7 KiBsqlite_fdw_15-2.5.0-2PIGSTY.el10.aarch64.rpm
sqlite_fdw_152.5.0el10.aarch64pgdg66.0 KiBsqlite_fdw_15-2.5.0-2PGDG.rhel10.aarch64.rpm
postgresql-15-sqlite-fdw2.5.0d12.x86_64pigsty152.6 KiBpostgresql-15-sqlite-fdw_2.5.0-1PIGSTY~bookworm_amd64.deb
postgresql-15-sqlite-fdw2.5.0d12.aarch64pigsty148.2 KiBpostgresql-15-sqlite-fdw_2.5.0-1PIGSTY~bookworm_arm64.deb
postgresql-15-sqlite-fdw2.5.0d13.x86_64pigsty152.9 KiBpostgresql-15-sqlite-fdw_2.5.0-1PIGSTY~trixie_amd64.deb
postgresql-15-sqlite-fdw2.5.0d13.aarch64pigsty148.8 KiBpostgresql-15-sqlite-fdw_2.5.0-1PIGSTY~trixie_arm64.deb
postgresql-15-sqlite-fdw2.5.0u22.x86_64pigsty185.2 KiBpostgresql-15-sqlite-fdw_2.5.0-1PIGSTY~jammy_amd64.deb
postgresql-15-sqlite-fdw2.5.0u22.aarch64pigsty183.0 KiBpostgresql-15-sqlite-fdw_2.5.0-1PIGSTY~jammy_arm64.deb
postgresql-15-sqlite-fdw2.5.0u24.x86_64pigsty158.6 KiBpostgresql-15-sqlite-fdw_2.5.0-1PIGSTY~noble_amd64.deb
postgresql-15-sqlite-fdw2.5.0u24.aarch64pigsty157.2 KiBpostgresql-15-sqlite-fdw_2.5.0-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
sqlite_fdw_142.4.0el8.x86_64pgdg58.1 KiBsqlite_fdw_14-2.4.0-1PGDG.rhel8.x86_64.rpm
sqlite_fdw_142.3.0el8.x86_64pgdg53.4 KiBsqlite_fdw_14-2.3.0-1.rhel8.x86_64.rpm
sqlite_fdw_142.1.1el8.x86_64pgdg157.0 KiBsqlite_fdw_14-2.1.1-1.rhel8.x86_64.rpm
sqlite_fdw_142.1.0el8.x86_64pgdg154.8 KiBsqlite_fdw_14-2.1.0-1.rhel8.x86_64.rpm
sqlite_fdw_142.4.0el8.aarch64pgdg55.5 KiBsqlite_fdw_14-2.4.0-1PGDG.rhel8.aarch64.rpm
sqlite_fdw_142.3.0el8.aarch64pgdg50.7 KiBsqlite_fdw_14-2.3.0-1.rhel8.aarch64.rpm
sqlite_fdw_142.2.0el8.aarch64pgdg156.4 KiBsqlite_fdw_14-2.2.0-1.rhel8.aarch64.rpm
sqlite_fdw_142.5.0el9.x86_64pigsty67.1 KiBsqlite_fdw_14-2.5.0-2PIGSTY.el9.x86_64.rpm
sqlite_fdw_142.5.0el9.x86_64pgdg66.1 KiBsqlite_fdw_14-2.5.0-1PGDG.rhel9.x86_64.rpm
sqlite_fdw_142.4.0el9.x86_64pgdg58.2 KiBsqlite_fdw_14-2.4.0-1PGDG.rhel9.x86_64.rpm
sqlite_fdw_142.3.0el9.x86_64pgdg53.6 KiBsqlite_fdw_14-2.3.0-1.rhel9.x86_64.rpm
sqlite_fdw_142.1.1el9.x86_64pgdg159.0 KiBsqlite_fdw_14-2.1.1-1.rhel9.x86_64.rpm
sqlite_fdw_142.5.0el9.aarch64pigsty65.7 KiBsqlite_fdw_14-2.5.0-2PIGSTY.el9.aarch64.rpm
sqlite_fdw_142.5.0el9.aarch64pgdg64.7 KiBsqlite_fdw_14-2.5.0-1PGDG.rhel9.aarch64.rpm
sqlite_fdw_142.4.0el9.aarch64pgdg56.7 KiBsqlite_fdw_14-2.4.0-1PGDG.rhel9.aarch64.rpm
sqlite_fdw_142.3.0el9.aarch64pgdg52.2 KiBsqlite_fdw_14-2.3.0-1.rhel9.aarch64.rpm
sqlite_fdw_142.2.0el9.aarch64pgdg160.4 KiBsqlite_fdw_14-2.2.0-1.rhel9.aarch64.rpm
sqlite_fdw_142.5.0el10.x86_64pigsty68.4 KiBsqlite_fdw_14-2.5.0-2PIGSTY.el10.x86_64.rpm
sqlite_fdw_142.5.0el10.x86_64pgdg67.7 KiBsqlite_fdw_14-2.5.0-2PGDG.rhel10.x86_64.rpm
sqlite_fdw_142.5.0el10.aarch64pigsty66.7 KiBsqlite_fdw_14-2.5.0-2PIGSTY.el10.aarch64.rpm
sqlite_fdw_142.5.0el10.aarch64pgdg66.0 KiBsqlite_fdw_14-2.5.0-2PGDG.rhel10.aarch64.rpm
postgresql-14-sqlite-fdw2.5.0d12.x86_64pigsty152.8 KiBpostgresql-14-sqlite-fdw_2.5.0-1PIGSTY~bookworm_amd64.deb
postgresql-14-sqlite-fdw2.5.0d12.aarch64pigsty148.5 KiBpostgresql-14-sqlite-fdw_2.5.0-1PIGSTY~bookworm_arm64.deb
postgresql-14-sqlite-fdw2.5.0d13.x86_64pigsty153.3 KiBpostgresql-14-sqlite-fdw_2.5.0-1PIGSTY~trixie_amd64.deb
postgresql-14-sqlite-fdw2.5.0d13.aarch64pigsty149.2 KiBpostgresql-14-sqlite-fdw_2.5.0-1PIGSTY~trixie_arm64.deb
postgresql-14-sqlite-fdw2.5.0u22.x86_64pigsty185.4 KiBpostgresql-14-sqlite-fdw_2.5.0-1PIGSTY~jammy_amd64.deb
postgresql-14-sqlite-fdw2.5.0u22.aarch64pigsty183.4 KiBpostgresql-14-sqlite-fdw_2.5.0-1PIGSTY~jammy_arm64.deb
postgresql-14-sqlite-fdw2.5.0u24.x86_64pigsty159.1 KiBpostgresql-14-sqlite-fdw_2.5.0-1PIGSTY~noble_amd64.deb
postgresql-14-sqlite-fdw2.5.0u24.aarch64pigsty157.4 KiBpostgresql-14-sqlite-fdw_2.5.0-1PIGSTY~noble_arm64.deb

Source

pig build pkg sqlite_fdw;		# build rpm/deb

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg repo and update cache

Install this extension with pig:

pig install sqlite_fdw;		# install via package name, for the active PG version

pig install sqlite_fdw -v 17;   # install for PG 17
pig install sqlite_fdw -v 16;   # install for PG 16
pig install sqlite_fdw -v 15;   # install for PG 15
pig install sqlite_fdw -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION sqlite_fdw;

Usage

sqlite_fdw: SQLite Foreign Data Wrapper

Create Server

CREATE EXTENSION sqlite_fdw;

CREATE SERVER sqlite_server FOREIGN DATA WRAPPER sqlite_fdw
  OPTIONS (database '/path/to/database.db');

Server Options: database (required, path to SQLite file), updatable (default true), truncatable (default false), keep_connections (default true), batch_size (default 1), force_readonly (default false).

No CREATE USER MAPPING is required since SQLite has no authentication model.

Create Foreign Table

CREATE FOREIGN TABLE remote_data (
  id integer OPTIONS (key 'true'),
  name text,
  created timestamp OPTIONS (column_type 'INT'),
  data bytea
)
SERVER sqlite_server
OPTIONS (table 'data_table');

Table Options: table (SQLite table name if different from PostgreSQL name), updatable, truncatable, batch_size.

Column Options: column_name (map to different SQLite column name), column_type (SQLite affinity: INT for epoch timestamps, BLOB for UUIDs), key (mark as primary key for UPDATE/DELETE).

CRUD Operations

SELECT * FROM remote_data WHERE id > 100;
INSERT INTO remote_data (id, name) VALUES (1, 'test');
UPDATE remote_data SET name = 'updated' WHERE id = 1;
DELETE FROM remote_data WHERE id = 1;

Import Foreign Schema

IMPORT FOREIGN SCHEMA public
  FROM SERVER sqlite_server INTO local_schema;

Import Options: import_default (default false), import_not_null (default true).

Data Type Mapping

SQLite TypePostgreSQL Type
intbigint
text, char, clobtext
blobbytea
real, float, doubledouble precision
datetimetimestamp
uuiduuid
json, jsonbjson, jsonb

Timestamps can be stored as TEXT (ISO format) or INT (Unix epoch, use column_type 'INT'). UUIDs can be stored as TEXT (36 chars) or BLOB (16 bytes). The SQLite database file must be readable (and writable for DML) by the PostgreSQL OS user.

Last updated on