PostgreSQL Zeug

Backup & Create & Restore

sudo -u postgres pg_dump my_db_name > dbname197001010000.sql # backup db
sudo -u postgres createdb another_db_name # create db
sudo -u postgres psql another_db_name < dbname197001010000.sql # restore db

CLI db admin

https://www.postgresql.org/docs/current/app-psql.html

# In die PostgreSQL Console einloggen
sudo -u postgres psql
# oder als root erst zu postgres werden
su -l postgres
# zu den Datenbanken mit psql
psql
-- postgres Passwort ändern
\password
-- mit \q wieder raus
\q
-- list all databases
\list
\l
-- switch databases
\connect database_name
\c database_name
-- list tables
\dt
\dt+
-- or do some stuff
select * from public.user;
-- ...weitere Abfragen für database_name
-- wieder raus mit der Taste 'Q'

Datenbank URL

postgres://{user}:{password}@{hostname}:{port}/{database-name}

SQL

-- nächsten Autoinkrement Wert setzen
ALTER SEQUENCE my_awesome_seq RESTART WITH 42
-- Unixtime to lesbar
SELECT to_timestamp(1195374767);
-- 2007-11-18 08:32:47.000000
SELECT to_timestamp(1195374767)::date;
-- 2007-11-18
SELECT to_char(to_timestamp(1195374767),'yyyy-mm-dd hh:ii');
-- 2007-11-18 08:77
SELECT EXTRACT(ISOYEAR FROM TIMESTAMP '2007-11-18 08:32:47.000000');
-- 2007
CREATE DATABASE db_name;
DROP DATABASE db_name;
GRANT ALL PRIVILEGES ON DATABASE db_name TO postgres;
-- GRANT auf alle Tabellen
\c database_name
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA database_name TO postgres;

Schreibe einen Kommentar