Re: Oracle vs. PostgreSQL - a comment on Mysql

2020-06-03 Thread Martin Mueller
On the topic of what other databases do better: I much prefer Postgres to Mysql 
because it has better string functions and better as well as very courteous 
error messages. But MySQL has one feature that sometimes makes me want to 
return it: it stores the most important metadata about tables in a Mysql table 
that can be queried as if it were just another table.  That is a really 
feature. I makes it very easy to look for a table that you edited most 
recently, including a lot of other things.

Why doesn’t Postgres have that feature? Or is there a different and equally 
easy way of getting at these things that I am just missing?

From: Andreas Joseph Krogh 
Date: Wednesday, June 3, 2020 at 12:54 PM
To: Chris Travers 
Cc: "pgsql-generallists.postgresql.org" 
Subject: Re: Oracle vs. PostgreSQL - a comment

På onsdag 03. juni 2020 kl. 20:07:24, skrev Chris Travers 
mailto:chris.trav...@gmail.com>>:
[...]

Regardless of what Oracle does, I agree this would be a huge step in the right 
direction for pg-DBAs.
I have absolutely no clue about how much work is required etc., but I think 
it's kind of strange that no companies have invested in making this happen.

I manage database clusters where the number of databases is a reason not to do 
logical replication based upgrades, where pg_upgrade is far preferred instead.

If this were to be the case, I would be very concerned that a bunch of things 
would have to change:
1.  Shared catalogs would have txid problems unless you stay with global txids 
and then how do local wal streams work there?
2.  Possibility that suddenly streaming replication has the possibility of 
different databases having different amounts of lag
3.  Problems with io management on WAL on high throughput systems (I have 
systems where a db cluster generates 10-20TB of WAL per day)

So I am not at all sure this would be a step in the right direction or worth 
the work.

I agree these are all technical issues, but nevertheless - "implementation 
details", which DBAs don't care about. What's important from a DBA's 
perspective is not whether WAL is cluster-wide or database-wide, but whether 
it's possible to manage backups/PITR/restores of individual databases in a more 
convenient matter, which other RDBMS-vendors seem to provide.

I love PG, have been using it professionally since 6.5, and our company depends 
on it, but there are things other RDBMS-vendors do better...

--
Andreas Joseph Krogh


Re: Oracle vs. PostgreSQL - a comment on Mysql

2020-06-03 Thread Adrian Klaver

On 6/3/20 3:21 PM, Martin Mueller wrote:
On the topic of what other databases do better: I much prefer Postgres 
to Mysql because it has better string functions and better as well as 
very courteous error messages. But MySQL has one feature that sometimes 
makes me want to return it: it stores the most important metadata about 
tables in a Mysql table that can be queried as if it were just another 
table.  That is a really feature. I makes it very easy to look for a 
table that you edited most recently, including a lot of other things.


With a lot of caveats:

https://dev.mysql.com/doc/refman/8.0/en/show-table-status.html

" Update_time

When the data file was last updated. For some storage engines, this 
value is NULL. For example, InnoDB stores multiple tables in its system 
tablespace and the data file timestamp does not apply. Even with 
file-per-table mode with each InnoDB table in a separate .ibd file, 
change buffering can delay the write to the data file, so the file 
modification time is different from the time of the last insert, update, 
or delete. For MyISAM, the data file timestamp is used; however, on 
Windows the timestamp is not updated by updates, so the value is inaccurate.


Update_time displays a timestamp value for the last UPDATE, INSERT, or 
DELETE performed on InnoDB tables that are not partitioned. For MVCC, 
the timestamp value reflects the COMMIT time, which is considered the 
last update time. Timestamps are not persisted when the server is 
restarted or when the table is evicted from the InnoDB data dictionary 
cache. "


What are the lot of other things?

My guess is they can be found in information_schema.*.





Why doesn’t Postgres have that feature? Or is there a different and 
equally easy way of getting at these things that I am just missing?


*From: *Andreas Joseph Krogh 
*Date: *Wednesday, June 3, 2020 at 12:54 PM
*To: *Chris Travers 
*Cc: *"pgsql-generallists.postgresql.org" 


*Subject: *Re: Oracle vs. PostgreSQL - a comment

På onsdag 03. juni 2020 kl. 20:07:24, skrev Chris Travers 
mailto:chris.trav...@gmail.com>>:


[...]

Regardless of what Oracle does, I agree this would be a huge
step in the right direction for pg-DBAs.

I have absolutely no clue about how much work is required etc.,
but I think it's kind of strange that no companies have invested
in making this happen.

I manage database clusters where the number of databases is a reason
not to do logical replication based upgrades, where pg_upgrade is
far preferred instead.

If this were to be the case, I would be very concerned that a bunch
of things would have to change:

1.  Shared catalogs would have txid problems unless you stay with
global txids and then how do local wal streams work there?

2.  Possibility that suddenly streaming replication has the
possibility of different databases having different amounts of lag

3.  Problems with io management on WAL on high throughput systems (I
have systems where a db cluster generates 10-20TB of WAL per day)

So I am not at all sure this would be a step in the right direction
or worth the work.

I agree these are all technical issues, but nevertheless - 
"implementation details", which DBAs don't care about. What's important 
from a DBA's perspective is not whether WAL is cluster-wide or 
database-wide, but whether it's possible to manage backups/PITR/restores 
of individual databases in a more convenient matter, which other 
RDBMS-vendors seem to provide.


I love PG, have been using it professionally since 6.5, and our company 
depends on it, but there are things other RDBMS-vendors do better...


--
Andreas Joseph Krogh




--
Adrian Klaver
adrian.kla...@aklaver.com




Re: Oracle vs. PostgreSQL - a comment on Mysql

2020-06-03 Thread Michael Nolan
On Wed, Jun 3, 2020 at 5:21 PM Martin Mueller <
martinmuel...@northwestern.edu> wrote:

> On the topic of what other databases do better: I much prefer Postgres to
> Mysql because it has better string functions and better as well as very
> courteous error messages.
>

Martin, I definitely sympathize.  The company I used to work for before I
retired (and still advise) is moving from the in-house membership system I
built for them over the last 20 years to CIVI-CRM, which is MySQL based.
We used MySQL on our Joomla-based website and I've been doing some work in
WordPress, so I've got some familiarity with MySQL(more than I used to
have), but it still drives me nuts at times!
--
Mike Nolan


Re: Oracle vs. PostgreSQL - a comment on Mysql

2020-06-03 Thread Alvaro Herrera
On 2020-Jun-03, Martin Mueller wrote:

> On the topic of what other databases do better: I much prefer Postgres to 
> Mysql because it has better string functions and better as well as very 
> courteous error messages. But MySQL has one feature that sometimes makes me 
> want to return it: it stores the most important metadata about tables in a 
> Mysql table that can be queried as if it were just another table.  That is a 
> really feature. I makes it very easy to look for a table that you edited most 
> recently, including a lot of other things.
> 
> Why doesn’t Postgres have that feature? Or is there a different and equally 
> easy way of getting at these things that I am just missing?

Every little schema detail in Postgres is in a catalog table that you
can query.  See pg_class for a list of relations; pg_attribute for
attributes; and so on.  You can learn a lot about them just by running
"psql -E" and executing \d -- look at the queries that appear above the
resultset.  We even have a whole section in our docs about the layout of
the system catalogs.  Also, there are views that make the whole thing
easier.  See https://www.postgresql.org/docs/devel/catalogs.html

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services