Linux/Postgres: Difference between revisions

From Wiki
mNo edit summary
mNo edit summary
Line 1: Line 1:
== Comment ==
<pre>
-- single line comment
/* multi line comment */
</pre>
== Data types ==
== Data types ==
{| class="wikitable"
{| class="wikitable"
Line 111: Line 117:
|=
|=
|equal
|equal
|
|WHERE "time" = <code>'2024-09-28 15:46:09.602492+00'</code>
|-
|-
|<>, !=
|<>, !=
Line 132: Line 138:
|
|
|
|
|-
|LIKE %%
|
|WHERE "time
|-
|-
|
|

Revision as of 15:00, 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

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;

Links