Linux/Postgres: Difference between revisions
< Linux
mNo edit summary |
mNo edit summary |
||
Line 144: | Line 144: | ||
|- | |- | ||
| | | | ||
|_ = single char | |||
|escaped = \_ | |||
|- | |||
| | |||
|% = 0 or more chars | |||
|escaped = \% | |||
|- | |||
|ILIKE | |||
| | | | ||
| | | |
Revision as of 15:05, 11 October 2024
Comment
-- single line comment /* multi line comment */
Data types
Type | min | max | comment |
---|---|---|---|
boolean | |||
char(n) | |||
varchar(n) | |||
text | |||
smallint | -32768 | 32767 | |
int | |||
serial | (~auto_increment in mysql) | ||
float(n) | |||
real / float8 | |||
numeric(p,s) | |||
date | |||
time | |||
timestamp | |||
timestamptz | |||
interval | |||
json | |||
jsonb | |||
uuid | |||
+ special |
Operators
Example | ||
---|---|---|
= | equal | WHERE "time" = '2024-09-28 15:46:09.602492+00'
|
<>, != | not equal | |
<, > | less/greater than | |
<=, >= | less/greater than or equal | |
LIKE | ||
LIKE %% | WHERE "time | |
_ = single char | escaped = \_ | |
% = 0 or more chars | escaped = \% | |
ILIKE |
Databases
- List all databases
SELECT datname FROM pg_database WHERE datistemplate = false;
Tables
- List all tables
SELECT table_catalog,table_schema,table_name FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema = 'public' ORDER BY table_type, table_name
- Biggest tables by size
SELECT nspname || '.' || relname AS "Object Name", relkind As "Object Type", pg_size_pretty(pg_relation_size(C.oid)) AS "size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') ORDER BY pg_relation_size(C.oid) DESC LIMIT 20;
List all users
SELECT * FROM pg_user;