Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Update ingest self-hosted postgres to use the console #30516

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

kay-kim
Copy link
Contributor

@kay-kim kay-kim commented Nov 16, 2024

  • Added the console instructions to the Ingest data > Postgres > self-hosted page.
  • Since I already had the pictures, and the Console pages have been getting some traction, reused the content to make the Console > Create New page.
  • Added an ingest-data page content since I needed a common place to send people before creating their source. Very bare-bones for now.

@kay-kim kay-kim requested a review from a team as a code owner November 16, 2024 02:30
@@ -261,7 +261,40 @@ scenarios, we recommend separating your workloads into multiple clusters for
[resource isolation](https://materialize.com/docs/sql/create-cluster/#resource-isolation).
{{< /note >}}

{{% postgres-direct/create-a-cluster %}}
![Image of the Create New Cluster flow](/images/console/console-create-new/postgresql/create-new-cluster-flow.png "Create New Cluster flow")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The create-a-cluster shortcut adds additional context that is now being discarded and/or pigeonholed into only one of the options (unless that's your intention). We could instead just swap the cluster creation-specific bit by using a tab view that provides both options (Materialize console / SQL) and defaults to Materialize console.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will tab -- wasn't sure how strongly we wanted users to go the console route.

@@ -0,0 +1,65 @@
---
title: "Ingest data"
Copy link
Contributor Author

@kay-kim kay-kim Nov 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://preview.materialize.com/materialize/30516/ingest-data/

I needed a centralized place to send people from the create a new source -- since they would need to configure upstream before they can create the connection and source. It really is like jenga.

Later on, will need to also add landing pages to those folders where we don't have any. But, they weren't needed for this pull.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good reminder to revive @sthm's PR that added a great draft for an ingestion landing page. Just pushed the changes I had stashed locally from back then, also: #27061

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 -- left the menu specification in the config.toml (meaning, when people click ingest-data folder from the left-hand toc, it'll only expand but not land on the page. people can still land if they do ..../ingest-data/). When we get Steffen's real landing page, will move that to the frontmatter of the page so that when people click on the folder, the page content displays.

identifier: console-create-new
---

From the Console, you can create new [clusters](/concepts/clusters/ "Isolated
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kay-kim kay-kim force-pushed the docs-console-create-connection branch from f52bbcc to d9f2e5b Compare November 16, 2024 02:53
doc/user/content/console/_index.md Outdated Show resolved Hide resolved
doc/user/content/console/_index.md Outdated Show resolved Hide resolved
doc/user/content/console/create-new.md Outdated Show resolved Hide resolved
doc/user/content/console/create-new.md Outdated Show resolved Hide resolved
doc/user/content/console/create-new.md Outdated Show resolved Hide resolved
doc/user/content/ingest-data/postgres/self-hosted.md Outdated Show resolved Hide resolved
Comment on lines 327 to 328
| **Name** | A name for the connection. |
| **Schema** | A Materialize database and schema for the connection. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we separate these out into the different sections, like in the console? It's pretty confusing otherwise, since these two options refer to Materialize, and the options below to PostgreSQL.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, not sure how useful it is to document each field in the documentation. If it's unclear what the field refers to, it should be annotated in the UI itself, which can then point to the CREATE CONNECTION reference documentation. This also makes it more cumbersome to make changes to the source creation workflow in the console, and unnecessarily creates multiple definitions for the same concepts we already document elsewhere for the underlying commands.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally agree with you on limited usefulness on each field (and definitely, difficult to maintain + again with you 💯 on it should be in the UI). While I have found in the past that some readers do seem to prefer having these, I'll see if I can make it less specific fields in the patch (since, later on, as we get more users -- if it turns out we need it here, we can add it back here).

doc/user/content/ingest-data/postgres/self-hosted.md Outdated Show resolved Hide resolved
Before it starts consuming the replication stream, Materialize takes a snapshot of the relevant tables in your publication. Until this snapshot is complete, Materialize won't have the same view of your data as your PostgreSQL database.

![Image of the new source status:
snapshotting](/images/console/console-create-new/postgresql/new-source-status-snapshotting.png
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since it isn't possible to comment on the image: can we reduce this one to just include the snapshotting bar, to save some space? Also, the image doesn't seem to include the actual snapshotting progress modal.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a modal for snapshotting? I only saw the little snapshotting label.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated where I cropped -- but didn't see the modal.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like so:

Screenshot 2024-11-22 at 00 27 18

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh wow! That did not show up on mine (albeit, my 2 tables had like 10 rows or whatnot) -- but looking at my screen recording did not show this. Eh.

From the [**Database object explorer**](/console/data/) in the [Materialize
console], you can see the status of the source you created.

Before it starts consuming the replication stream, Materialize takes a snapshot of the relevant tables in your publication. Until this snapshot is complete, Materialize won't have the same view of your data as your PostgreSQL database.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Materialize won't have the same view of your data as your PostgreSQL database" suggests that the source can be queried while it's snapshotting — it can't. So we should adapt this sentence (in all guides) to instead make it clear that snapshotting must complete before you can query the source.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants