Appendix E — Data Dictionary
This appendix describes the tables and columns in RStudio Workbench’s internal database. Note that this database is intended for internal product usage only; the schema and columns may change between releases of RStudio Workbench.
licensed_users
The licensed_users
table tracks the last sign in time of every user of RStudio Workbench. It also keeps track of whether a particular user has administrator privileges, and whether a user is locked from the system.
Column Name | Type | Can be Null | Description |
---|---|---|---|
user_name | Text | No | The username associated with the user. |
locked | Integer/Boolean | No | Whether or not the user is locked (disabled from signing in). |
last_sign_in† | Text | No | The date and time (UTC) when the user last signed in. |
is_admin | Integer/Boolean | No | Indicates if the user is an admin. |
user_id | Integer | No | The POSIX/Operating-System-Level ID of the user |
id⁕ | Integer | No | Auto incrementing ID for each user for internal foreign key relationships |
⁕ Primary Key † Indexed Column
licensed_users_metadata
The licensed_users_metadata
table stores metadata associated with the current licensed users, used for quickly looking up known users.
Column Name | Type | Can be Null | Description |
---|---|---|---|
uid | Text | No | Randomly generated unique ID associated with the current locked users. |
schema_version
The schema_version
table is used to keep track of the version of the database schema currently in use, for the purposes of managing changes to the database schema over time.
Column Name | Type | Can be Null | Description |
---|---|---|---|
current_version | Text | No | The schema version, which is derived from the date and time on which it was created. |
release_name | Text | No | The code name of the release to which this version of the schema belongs. |
PostgreSQL-Only Tables
The cluster
and node
tables are only available in PostgreSQL, since SQLite cannot be used in load-balanced configurations.
cluster
The cluster
table stores information about a cluster in a load-balanced configuration.
Column Name | Type | Can be Null | Description |
---|---|---|---|
id⁕ | Text | No | A unique ID representing the cluster. |
key_hash | Text | Yes | A hash of the cluster’s secure-cookie-key value. Used to ensure that all nodes in the cluster have matching keys. |
protocol | Text | Yes | The protocol used to communicate among nodes in the cluster. Must be one of http , https , or https no verify . |
⁕ Primary Key
node
The node
table stores information about a single node in a load-balanced cluster.
Column Name | Type | Can be Null | Description |
---|---|---|---|
id⁕ | Text | No | A unique ID representing the node. |
cluster_id‡ | Text | No | The ID of the cluster to which the node belongs. Corresponds (via foreign key) to id in the cluster table |
host | Text | Yes | The node’s hostname, or its raw IP address. |
port | Text | Yes | The port to connect to; defaults to 443 for https and 8787 for http. |
ipv4 | Text | Yes | The resolved IPv4 address of the host, if applicable. |
last_seen | Text | Yes | The date and time (UTC) the node was last seen; the node updates this every 5 minutes while it’s healthy. |
status | Text | Yes | The node’s status (starting , failed to resolve , online , or offline ) |
⁕ Primary Key ‡ Foreign Key