See Stacksync in action with a solution architect. Book a demo ↗
Use secure databases

Connect and query

Connect your application to PostgreSQL, browse tables, and run SQL in the EOS database workspace.

Open Databases → your database to work with application data. EOS combines connection management with a database workspace, so your team can inspect data and troubleshoot without switching tools.

Connect an application

Select Connect to database, or open Settings to find the connection string. Use Reveal when you need to inspect it, then Copy connection string. The connection details can also be copied as individual parameters for clients that require separate host, port, database, user, and password fields.

Database settings include connection-string controls. The credential remains concealed in this screenshot.
Database settings include connection-string controls. The credential remains concealed in this screenshot.

Supply the connection string as a server-side application variable and use a standard PostgreSQL driver or ORM. Preserve the connection options supplied by EOS. Editing the connection string in the dashboard is for one-time copying; it does not save new database credentials.

From a trusted terminal:

eos database list
eos database credentials DATABASE_ID

The credentials command displays secrets. Use the exact ID returned by the list command, and keep its output private. Owners and Editors can retrieve credentials; Viewers cannot.

Add database users

Give each application, reporting tool, or integration its own PostgreSQL login with only the permissions it needs. You must be a database Owner to create or manage these users. PostgreSQL logins control connections to the database; EOS workspace sharing is managed separately in Users and Access.

Create a user in EOS

  1. Open Databases → your database → Database users.
  2. Select Create database user and enter a user name, such as reporting-service.
  3. Under General Database Permissions, enable Create schemas only if needed. Delete schemas applies to the selected schemas and requires them to be empty.
  4. Search for a schema or table, then tick a schema to reveal its permissions.
  5. Select the required Data access and Metadata access permissions. All permissions start off.
  6. Select Create user. Copy the password and connection string from the confirmation dialog and store them privately before closing it. The additional user's password is shown only once.

Use the returned connection string in your application's server-side configuration.

Choose permissions

ScopeAvailable permissions
General database permissionsCreate schemas; delete selected empty schemas.
Schema metadataCreate tables and rename the selected schema.
Table dataRead, insert rows, update rows, and delete rows, independently for each table.
Table metadataUpdate table schema or drop the table.

For example, a reporting user can have Read on sales.orders with every write and metadata permission left off. Another integration can have Read, Insert rows, and Update rows on that table without permission to delete rows or change the table schema.

The schema-level Data access · all current tables controls apply permissions to existing tables. New tables require an explicit permission update. Views support read-only access in this editor.

Metadata permissions use EOS's controlled SQL helper rather than granting table ownership or unrestricted PostgreSQL ALTER rights. Update table schema supports renaming a table and adding or removing columns. Drop operations do not cascade into other objects. For example, a user with the relevant permission can add a text column with:

SELECT eos_access.change_structure('table.add_column', 'sales', 'orders',
  '{"name":"reference","type":"text"}');

Edit access and reset passwords

In Database users, select Edit permissions to change an additional user's access, Reset password to replace its password, or Revoke to block new connections and terminate existing sessions.

The Default row represents the main database user and shows its actual PostgreSQL username. It cannot be revoked or have its permissions edited here. Reset its password from that row or from the database's Settings tab.

After a password reset, update the credentials in connected applications and integrations. Existing connections stay open; new connections need the new password.

Manage users with the CLI

Use catalog to discover the current schemas and tables, then create a JSON permissions file. This example grants read-only access to the existing sales.orders table:

{
  "name": "reporting-service",
  "permissions": {
    "create_schema": false,
    "schemas": [{
      "name": "sales",
      "access": true,
      "structure": {"create_table": false, "rename": false, "drop": false},
      "tables": [{
        "name": "orders",
        "data": ["select"],
        "structure": {"alter": false, "drop": false}
      }]
    }]
  }
}

Save it as permissions.json, replacing schema and table names with those in your database:

eos database users catalog DATABASE_ID --json
eos database users create DATABASE_ID permissions.json --json
eos database users list DATABASE_ID --json
eos database users update DATABASE_ID USER_ID permissions.json --json
eos database users reset-password DATABASE_ID USER_ID --json
eos database users revoke DATABASE_ID USER_ID --json

Run only the operation you need: update replaces the complete permission set, and revoke disconnects the user. Creation and password-reset output includes credentials; keep it private. Create and update also accept - to read JSON from stdin.

Use eos database reset-password DATABASE_ID --json to reset the main user's password. Password resets generate a new password by default; add --password-stdin to supply a password of 16–256 characters through stdin without putting it in command-line arguments.

Explore tables and run SQL

  1. Open Table viewer.
  2. Expand a schema in the left-hand tree, then inspect a table and its columns.
  3. Open a query tab and enter SQL.
  4. Select Run query, or use Command+Enter on macOS / Control+Enter on other platforms.
  5. Inspect the results, use pagination for larger results, or export results as CSV.
The database workspace shows the schema tree, SQL editor, and results for a sample partner query.
The database workspace shows the schema tree, SQL editor, and results for a sample partner query.

For a table created by your application, a first exploration query might be:

SELECT id, name, status
FROM public.partners
ORDER BY id
LIMIT 50;

Replace the table and column names with those in your database. The screenshot uses sample documentation data; a newly created database will not contain application tables until you create them or run migrations.

Query tabs preserve your SQL workspace. The editor includes formatting and AI assistance controls; review suggested SQL before running it. SQL executes against the actual database, so modifications change its data.

Review activity

Open Activity logs for Stacksync-generated events such as database actions, credential access, and query execution metadata. These are application-level audit events, not native PostgreSQL server logs. Query events record metadata such as timing, command type, and row count rather than returned data or SQL text.

Share the database through Users and Access to collaborate without sharing a personal EOS sign-in.

On this page