Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| id | serial | 10 | √ | nextval('published_posts_id_seq'::regclass) |
|
|
{“what”:“Unique integer identifier for each published post.”,“why”:“Needed to reference a post from other tables without ambiguity.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.070513942+00:00”} |
||||
| job_id | int4 | 10 | null |
|
|
{“what”:“Identifier of the job that produced this post.”,“why”:“Ties the post to its generation job for auditing and reprocessing.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.087376946+00:00”} |
|||||
| draft_id | int4 | 10 | null |
|
|
{“what”:“Identifier of the source draft this post was published from.”,“why”:“Links the published version to its draft for version history and rollback.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.100723990+00:00”} |
|||||
| slug | text | 2147483647 | null |
|
|
{“what”:“URL-friendly unique string used in the post’s web address.”,“why”:“Enables human-readable and SEO-friendly URLs; without it, posts would need numeric IDs.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.113935018+00:00”} |
|||||
| title | text | 2147483647 | null |
|
|
{“what”:“Human-readable headline of the post.”,“why”:“Needed for display in lists, search results, and social sharing.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.139421228+00:00”} |
|||||
| keyword | text | 2147483647 | null |
|
|
{“what”:“Primary search keyword the post targets.”,“why”:“Used for SEO analysis and to group posts by topic.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.162247758+00:00”} |
|||||
| content_md | text | 2147483647 | null |
|
|
{“what”:“Full post body in Markdown format.”,“why”:“Source content for editing and re-rendering; without it, the original text is lost.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.174552599+00:00”} |
|||||
| content_html | text | 2147483647 | null |
|
|
{“what”:“Pre-rendered HTML version of the post body.”,“why”:“Served directly to readers to avoid rendering on each request; without it, pages would be slow.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.193546218+00:00”} |
|||||
| meta_description | text | 2147483647 | √ | null |
|
|
{“what”:“Short SEO description for search engine snippets.”,“why”:“Controls the snippet text in search results; without it, search engines may pick arbitrary text.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.213765082+00:00”} |
||||
| meta_keywords | jsonb | 2147483647 | √ | null |
|
|
{“what”:“JSON array of additional SEO keywords.”,“why”:“Provides extra keyword signals for search engines and content analysis.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.225871461+00:00”} |
||||
| headings | jsonb | 2147483647 | √ | null |
|
|
{“what”:“JSON structure of the post’s headings (e.g., h1, h2) with hierarchy.”,“why”:“Used for table of contents generation and SEO heading analysis.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.237312760+00:00”} |
||||
| word_count | int4 | 10 | null |
|
|
{“what”:“Number of words in the post body.”,“why”:“Used for content length metrics and reading time estimation.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.252106515+00:00”} |
|||||
| reading_time_minutes | int4 | 10 | √ | null |
|
|
{“what”:“Estimated minutes to read the post, derived from word count.”,“why”:“Shown to readers to set expectations; without it, readers cannot gauge length.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.264771217+00:00”} |
||||
| quality_score | float4 | 8,8 | null |
|
|
{“what”:“Numeric quality score (likely 0-1) assigned by an algorithm.”,“why”:“Used to filter or rank posts; without it, content quality cannot be compared.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.280633264+00:00”} |
|||||
| serp_snapshot_id | int4 | 10 | √ | null |
|
|
{“what”:“Identifier of the search engine results page snapshot taken for this post.”,“why”:“Links to historical SERP data for tracking ranking changes.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.296387529+00:00”} |
||||
| published_at | timestamptz | 35,6 | √ | now() |
|
|
{“what”:“Timestamp when the post was published, in UTC.”,“why”:“Needed for chronological ordering and to know when the post went live.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:10:17.313880176+00:00”} |
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| published_posts_pkey | Primary key | Asc | id |
| idx_published_keyword | Performance | Asc | keyword |
| idx_published_slug | Performance | Asc | slug |
| published_posts_slug_key | Must be unique | Asc | slug |