# The Catalog object

## Attributes

- `name` (string)
  Output only. The full resource path of the catalog.
  
   Format: "catalogs/{catalog_id}".
- `uid` (string)
  System-generated unique identifier for the catalog.
- `spec` (object)
  The desired state of the Catalog.
  - `postgres_database` (string)
    The name of the Postgres database inside the specified Lakebase project and branch to be associated with the UC catalog.
     This database must already exist, unless create_database_if_missing is set to true on creation.
    
     A database can only be registered with one UC catalog at a time.
     To re-register a database with a different catalog, the existing catalog must be deleted first.
    
     A child branch inherits the fact of parent's registration. This means the same-named database
     in a child branch cannot be registered with a second catalog
     while the parent's registration exists. To allow registering the database of a child branch,
     drop and recreate the database on the child branch.
     This removes the fact of parent's registration from this branch only.
    
     Doing Point In Time Restore (PITR) prior to the moment before the Postgres DB was registered
     in the Catalog drops the fact of registration of the database. So the user should avoid doing so.
  - `create_database_if_missing` (boolean)
    If set to true, the specified postgres_database is created on behalf of the calling user
     if it does not already exist. In this case, the calling user has a role created for
     them in Postgres if they do not already have one.
    
     Defaults to false, meaning that the request fails if the specified postgres_database does not already exist.
  - `branch` (string)
    The resource path of the branch associated with the catalog.
    
     Format: projects/{project_id}/branches/{branch_id}.
- `status` (object)
  The observed state of the Catalog.
  - `postgres_database` (string)
    The name of the Postgres database associated with the catalog.
  - `project` (string)
    The resource path of the project associated with the catalog.
    
     Format: projects/{project_id}.
  - `branch` (string)
    The resource path of the branch associated with the catalog.
    
     Format: projects/{project_id}/branches/{branch_id}.
- `create_time` (string)
  A timestamp indicating when the catalog was created.
- `update_time` (string)
  A timestamp indicating when the catalog was last updated.
- `catalog_id` (string)
  The part of the name, chosen by the user when the resource was created.

## Example

```json
{
  "name": "string",
  "uid": "string",
  "spec": {
    "postgres_database": "string",
    "create_database_if_missing": true,
    "branch": "string"
  },
  "status": {
    "postgres_database": "string",
    "project": "string",
    "branch": "string"
  },
  "create_time": "string",
  "update_time": "string",
  "catalog_id": "string"
}
```


