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;