public inbox for [email protected]
help / color / mirror / Atom feedFrom: Karl O. Pinc <[email protected]>
To: Jonathan S. Katz <[email protected]>
Cc: Benjamin Scherrey <[email protected]>
Cc: [email protected]
Cc: Vik Fearing <[email protected]>
Cc: Bruce Momjian <[email protected]>
Cc: Tom Lane <[email protected]>
Subject: Re: Describing Postgres as "object-relational" on the home page
Date: Mon, 1 Jan 2024 16:48:19 -0600
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<CACo3ShjP=OcV=HsKEQuMFkAL2Z0E20==pUjKbhUd1keH20qQ0w@mail.gmail.com>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
This email contains nothing really new. Feel free to skip it
if you've little interest in a word cloud.
Attached is a corrected CSV file, with "table inheritance"
duplicates removed. (It is only an example data set, but
the duplicates confused things.)
On Mon, 1 Jan 2024 14:15:16 -0600
"Karl O. Pinc" <[email protected]> wrote:
> On Mon, 1 Jan 2024 13:44:59 -0600
> "Karl O. Pinc" <[email protected]> wrote:
>
> > Categorizing the keywords by attaching one or more tags to each
> > opens up possibilities for interaction and alternate ways to view
> > the keywords.
>
> -- A back of the envelope schema for tagged technology keywords
>
> CREATE TABLE keywords (
> keyword TEXT PRIMARY KEY,
> url TEXT,
> cantag BOOLEAN);
>
> CREATE TABLE taggings (
> tag TEXT REFERENCES keywords,
> keyword TEXT REFERENCES keywords);
>
> -- And a trigger is needed to ensure that taggings.tag
> -- is related to a keywords row having a keywords.cantag value of
> true.
Except that I'd allow/require a row in TAGGINGS for every row in
KEYWORDS, and the Tag and Keyword columns would contain the same
value. That way TAGGINGS will always inner join with KEYWORDS.
FWIW, here's a list of the 12 tags (aka categories) of my example:
AI
atomicity
auditing
concurrency
database types
data integrity
high availability
high performance
interfaces
object-relational
security
SQL standards
Produced by:
ut -d , -f 2 pg_keywords.csv | sort | awk 'BEGIN {last="";}; {if ($0 == last && last != "") print $0; else last = $0};' | sort -u
The list of tags, and keywords, is what I feel like is missing from the
pgxn.org site's interface. (In their case it's not keywords, but
extensions, that are categorized. They do allow a search-by-typing
rather than having to find the category in the word cloud and click on
it.) It could also be nice if the user was able to omit tags from the
word cloud so that words taking up lots of space can be omitted to
make room for other words.
I am drawn to the idea of being able to search, explain, visualize, and
link directly into, the PostgreSQL ecosystem writ-large.
The tricky work is likely in choosing the links of the keywords. I
would think that a lot of them ("SQL", "SQL standards", "transactions")
have a place already in the documentation. But a lot would go off-site,
or at least I'd think so because the pg wiki does not presently
have enough content and probably shouldn't describe, say,
exactly what "object-relational" means.
(Humm. One of the temporal extensions would really allow this feature
to support wiki-like history and rollback capabilities.
https://wiki.postgresql.org/wiki/Temporal_Extensions
)
Regards,
Karl <[email protected]>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attachments:
[text/csv] pg_keywords.csv (2.0K, 2-pg_keywords.csv)
download | inline:
keyword,tag
transactions,transactions
transactions,SQL standards
transactions,data integrity
transactions,atomicity
consistency,consistency
consistency,data integrity
constraints,constraints
constraints,data integrity
constraints,SQL standards
isolation,isolation
isolation,SQL standards
isolation,concurrency
atomicity,atomicity
atomicity,SQL standards
durability,durability
durability,data integrity
durability,SQL standards
SQL,SQL
SQL,SQL standards
SQL,interfaces
geospatial,geospatial
geospatial,database types
spatial,spatial
spatial,database types
time series,time series
time series,database types
temporal,temporal
temporal,database types
temporal,auditing
temporal,security
vector,vector
vector,database types
vector,AI
AI,AI
failover,failover
failover,high availability
high availability,high availability
clustering,clustering
clustering,high availabiltiy
clustering,high performance
partition,partition
partition,high performance
table inheritance,table inheritance
table inheritance,SQL standards
table inheritance,object-relational
extensible types,extensible types
extensible types,object-relational
relational,relational
relational,database types
client-server,client-server
client-server,database types
GUI,GUI
GUI,interfaces
views,views
views,interfaces
views,SQL standards
materialized views,materialized views
materialized views,interfaces
materialized views,SQL standards
materialized views,high performance
triggers,triggers
triggers,data integrity
triggers,SQL standards
stored procedures,stored procedures
stored procedures,SQL standards
stored procedures,high performance
row level security,row level security
row level security,SQL standards
row level security,security
SELinux,SELinux
SELinux,security
security,security
SQL standards,SQL standards
data integrity,data integrity
auditing,auditing
auditing,security
concurrency,concurrency
interfaces,interfaces
database types,database types
high performance,high performance
object-relational,object-relational
object-relational,database types
security,security
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Describing Postgres as "object-relational" on the home page
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox