Row Editing

Create, edit, and delete PostgreSQL rows with type-aware editors and foreign key validation.

Row Inspector

Click any row in the table to open the inspector panel on the right side. The inspector displays all column values for the selected row with type-appropriate formatting.

Metadata Display

The top of the inspector shows:

  • Primary key value — selectable text for easy copying
  • Table name — the source table
  • Foreign key indicators — columns that reference other tables

Field Display

Column values are rendered with type-aware formatting:

  • text / varchar — plain text display
  • int4 / int8 / float8 — numeric display
  • bool — true/false badge
  • jsonb / json — expandable tree view with syntax highlighting
  • uuid — monospace display with copy button
  • timestamptz / timestamp — formatted date and time
  • date — formatted date
  • bytea — byte length indicator
  • array types — expandable list view

NULL values are displayed with a distinct “NULL” label to distinguish them from empty strings or zero values.

Editing Rows

Click Edit in the inspector to enter edit mode. Each field presents a type-appropriate editor:

Text Fields

Standard text input for text, varchar, and char types. Character limits are enforced when the column has a length constraint.

Numeric Fields

Number input for int2, int4, int8, float4, float8, and numeric types. The editor validates that the entered value matches the column type (e.g., no decimals for integer columns).

Boolean Fields

A toggle switch for bool columns. When the column is nullable, a third “NULL” state is available.

JSON Fields

A text editor with JSON validation for json and jsonb columns. The editor warns if the entered text is not valid JSON before saving.

UUID Fields

A text input with UUID format validation. A Generate button creates a new random UUID for convenience.

Timestamp Fields

A date and time picker for timestamp and timestamptz columns. The picker respects the column’s timezone configuration.

Nullable Fields

For any nullable column, a Set NULL button clears the value and sets it to NULL. The button is disabled for columns with a NOT NULL constraint.

Foreign Key References

Columns with foreign key constraints display the referenced table and column. The editor validates that the entered value exists in the referenced table before saving.

Saving Changes

Click Save to commit all changes as a single UPDATE operation. Stackpane sends only the modified columns, minimizing the data transferred. Click Cancel to discard all unsaved changes.

Creating Rows

To insert a new row:

  1. Click the + button in the toolbar and select New Row.
  2. The inspector opens with empty fields for each column.
  3. Columns with default values (e.g., uuid_generate_v4(), now()) show a “Default” placeholder. Leave these blank to use the database default.
  4. Required columns (NOT NULL without a default) are marked with an asterisk.
  5. Fill in the desired values using the type-aware editors.
  6. Click Create to insert the row.

The new row appears in the table immediately. If the insert fails (e.g., due to a unique constraint violation), the error message is displayed inline.

Deleting Rows

Single Row

  1. Select a row in the table.
  2. Click Delete in the inspector.
  3. Confirm the deletion in the dialog.

Batch Deletion

  1. Enable selection mode from the toolbar.
  2. Click checkboxes to select multiple rows.
  3. Click Delete Selected in the bulk action bar.
  4. Confirm the batch deletion in the dialog.

Batch deletions are executed as a single operation for efficiency.

Tips

  • Use the Generate button for UUID fields to avoid manual entry errors
  • Leave columns with database defaults blank when creating rows to let PostgreSQL handle value generation
  • Check foreign key references before saving to avoid constraint violation errors
  • Use batch deletion cautiously — the operation cannot be undone