https://github.com/i-s-compat-table/i.s.compat.table
Information Schema Compatibility Table
https://github.com/i-s-compat-table/i.s.compat.table
database databases hacktoberfest iso-9075 relational-databases sql
Last synced: 3 months ago
JSON representation
Information Schema Compatibility Table
- Host: GitHub
- URL: https://github.com/i-s-compat-table/i.s.compat.table
- Owner: i-s-compat-table
- License: bsd-3-clause
- Created: 2021-01-14T05:02:57.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-11-27T13:21:19.000Z (over 1 year ago)
- Last Synced: 2024-11-27T14:25:33.192Z (over 1 year ago)
- Topics: database, databases, hacktoberfest, iso-9075, relational-databases, sql
- Language: Go
- Homepage: https://i-s-compat-table.vercel.app
- Size: 1.54 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
I.S.Compat.Table
Information Schema Compatibility Table(s)
Compares the information_schema of some of [the major databases that implement][implementors] the information_schema standard.
## About `information_schema`
`information_schema` is an ANSI-standard set of read-only views that provide information about all of the tables, views, columns, and procedures in a database.
Specifically, the specification for the information_schema views are published in [ISO/IEC 9075][iso-9075]. [This standard has several versions][version history].
These facts implies several crucial points:
1. The information_schema views are an amazing, standard way to discover metadata about a given database!
1. Different versions of the same database and different databases might implement different versions of the standard for information_schema
1. Since the standard is published by ISO reading it costs a nontrivial amount of money.
Thus, volunteer developers _might_ choose to do something nice for themselves rather than shelling out so that they can implement the latest standards.
Naturally, most databases that implement `information_schema` a subset of the standard's views, add extra database-specific views, and stuff otherwise-standard views with database-specific columns.
This makes `information_schema` a highly-nonstandard standard. Thinking of `information_schema` as a convention might be more accurate.
(╯°□°)╯︵ ┻━┻
## Motivation
I'd like to use `information_schema` more. Before I do that, however, I'd like to know what views and columns are in the standard or better yet, what views and columns are actually in each database's `information_schema`.
## Inspirations
- [MDN's fantastic compatibility tables efforts](https://github.com/mdn/browser-compat-data)
- [Can I Use?](https://caniuse.com/ciu/about)
- [dbdb.io](https://dbdb.io)
## Methodology
I scrape at the public documentation where the documentation licenses allow.
I also run databases without restrictive EULAs and observe those databases' `information_schema` tables directly.
I prioritize the most popular databases that implement an `information_schema` according to [2024 Stack Overflow Developer Survey](https://survey.stackoverflow.co/2024/technology#most-popular-technologies-database)
| database name | % of respondents use | documentation scraped | `information_schema` queried directly |
| ------------- | :------------------: | :-------------------: | :-----------------------------------: |
| `postgres` | 49% | YES | YES |
| `mysql` | 40% | NO | YES |
| `mssql` | 25% | YES | NO |
| `mariadb` | 17% | YES | YES |
| `cockroachdb` | | YES | TODO |
| `tidb` | | YES | TODO |
**If note a missing database that implements `information_schema` or evidence of incorrect information, please create a pull request with a fix!**
See [`./CONTRIBUTING.md`](./CONTRIBUTING.md) for more details.
[implementors]: https://en.wikipedia.org/wiki/Information_schema#Implementation
[iso-9075]: https://www.iso.org/standard/63555.html
[version history]: https://en.wikipedia.org/wiki/SQL#Standardization_history