Skip to content

BaseFilesystem

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:80

A synchronous virtual filesystem that holds a data directory, mounted by a Postgres build in place of its built-in storage (pass it as createPgwasm({ fs })). Paths are absolute within the filesystem, /-separated, / being the data directory itself.

Besides the POSIX-shaped operations, a filesystem takes part in durability: pgwasm calls syncToFs(relaxed) after statements (see createPgwasm’s relaxedDurability), the build calls initialSyncFs() once when it mounts the filesystem, closeFs() when the database closes and cleanupFailedInit() when a boot fails after the filesystem was handed over.

new BaseFilesystem(__namedParameters?): BaseFilesystem

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:84

boolean = false

BaseFilesystem

readonly debug: boolean

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:81

get description(): FilesystemDescription

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:93

What this filesystem is, as pg.storage reports it. Defaults to { name: "custom" }, persistence undeclared: a filesystem overrides it to name itself and to say whether its data outlives the process (persistent: true) or not (persistent: false), since nothing else can tell.

FilesystemDescription


get recentSyscallErrors(): readonly SyscallError[]

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:98

The most recent failed filesystem calls reported to Postgres (up to 50), oldest first.

readonly SyscallError[]

abstract chmod(path, mode): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:128

string

number

void


cleanupFailedInit(): Promise<void>

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:124

Release what the filesystem holds after a boot failed. Defaults to closeFs.

Promise<void>


abstract close(fd): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:129

number

void


closeFs(): Promise<void>

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:121

Release everything the filesystem holds. Called when the database closes.

Promise<void>


abstract fstat(fd): FsStats

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:130

number

FsStats


initialSyncFs(): Promise<void>

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:118

Called once when the build mounts the filesystem, before anything reads it.

Promise<void>


abstract lstat(path): FsStats

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:131

string

FsStats


abstract mkdir(path, options?): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:132

string

number

boolean

void


abstract open(path, flags?, mode?): number

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:133

string

string

number

number


abstract read(fd, buffer, offset, length, position): number

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:136

Read into buffer[offset, offset + length) from position; returns the bytes read.

number

Uint8Array

number

number

number

number


abstract readdir(path): string[]

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:134

string

string[]


recordSyscallError(op, path, errno, message): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:103

Record a failed call. The build’s mount calls this where it turns a thrown error into an errno.

string

string

number

string

void


abstract rename(oldPath, newPath): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:137

string

string

void


abstract rmdir(path): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:138

string

void


syncToFs(_relaxed?): Promise<void>

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:115

Make everything written so far durable. relaxed is pgwasm’s background persist.

boolean

Promise<void>


abstract truncate(path, length): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:139

string

number

void


abstract unlink(path): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:140

string

void


abstract utimes(path, atime, mtime): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:141

string

number

number

void


abstract write(fd, buffer, offset, length, position): number

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:148

Write buffer[offset, offset + length) at position; returns the bytes written.

number

Uint8Array

number

number

number

number


abstract writeFile(path, data, options?): void

Defined in: packages/pgwasm/src/fs/base-filesystem.ts:142

string

string | Uint8Array<ArrayBufferLike>

string

string

number

void