| base | MySQL | PostgreSQL | |
| SQL: standard complaince | medium | high | |
| PL: main | SQL + SP | SQL + PL/PgSQL | main programming lanage: most database suports SQL because SQL is a well established standard. However, each database would like to extend SQL more or less. |
| PL: other language support | no | yes | PL lanaguage other than PL/SQL, like PL/Java, PL/Rust etc |
| Object-Relational? | no | yes | |
| vector search | no native | no native | does it support vector search |
| max SQL length | | undefined same as PostgreSQL with "StringInfo" container | maximal SQL statement length |
| SP: max parameters | | 100 | |
| UDF: max parameters | | 100 | |
| SQL: max parameters | | 65535 | number of parameters in a PREPARED query |
| SQL: query hints | | GUC only | if it allows use query hints to guide the optimizer |
| SQL: explicit locking | | yes: row, page, table level | Locking is usually an internal matter - so does it allow explicit locking? What levels do they support? |
| Triggers? | | yes | If support triggers |
| Triggers: scope | | tables, views, foreign tables | What objects can have triggers |
| Triggers: type | | BEFORE, AFTER, INSTEAD OF | Types of triggers supported |
| Extension Mechanism | | C programming, link with engine | |