Różnice między wybraną wersją a wersją aktualną.
Nowa wersja | Poprzednia wersja | ||
postgresql [2013/03/26 13:08] – utworzono kamil | postgresql [2018/07/16 11:47] (aktualna) – edycja zewnętrzna 127.0.0.1 | ||
---|---|---|---|
Linia 4: | Linia 4: | ||
- | Zalogowanie się do PostgreSQL za pomocą psql: | + | === Zalogowanie się do PostgreSQL za pomocą psql === |
Logujemy się na root’a: | Logujemy się na root’a: | ||
Linia 22: | Linia 22: | ||
</ | </ | ||
- | Stworzenie użytkownika na bazie danych: | + | === Stworzenie użytkownika na bazie danych |
< | < | ||
Linia 30: | Linia 30: | ||
</ | </ | ||
- | Zmiana hasła dla użytkownika: | + | === Zmiana hasła dla użytkownika |
< | < | ||
Linia 38: | Linia 38: | ||
</ | </ | ||
- | Usunięcie użytkownika z bazy danych: | + | === Usunięcie użytkownika z bazy danych |
< | < | ||
Linia 46: | Linia 46: | ||
</ | </ | ||
- | Stworzenie instancji na bazie danych: | + | === Stworzenie instancji na bazie danych |
< | < | ||
Linia 54: | Linia 54: | ||
</ | </ | ||
- | Stworzenie instancji na bazie danych i powiązanie jej z użytkownikiem: | + | === Stworzenie instancji na bazie danych i powiązanie jej z użytkownikiem |
< | < | ||
Linia 62: | Linia 62: | ||
</ | </ | ||
- | Stworzenie bazy danych z kodowaniem UTF8 i powiązanie jej z użytkownikiem: | + | === Stworzenie bazy danych z kodowaniem UTF8 i powiązanie jej z użytkownikiem |
< | < | ||
Linia 70: | Linia 70: | ||
</ | </ | ||
- | Usunięcie instancji na bazie danych: | + | === Usunięcie instancji na bazie danych |
< | < | ||
Linia 78: | Linia 78: | ||
</ | </ | ||
- | Nadanie praw tylko do odczytu: | + | === Nadanie praw dla innego użytkownika === |
+ | |||
+ | < | ||
+ | GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO user2; | ||
+ | GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO user2; | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Nadanie praw tylko do odczytu | ||
< | < | ||
Linia 87: | Linia 95: | ||
</ | </ | ||
- | Wyświetlenie tabel w bazie danych: | + | === Nadanie praw tylko do backupu === |
+ | |||
+ | < | ||
+ | CREATE USER backup_user | ||
+ | GRANT CONNECT ON DATABASE production to backup_user; | ||
+ | \c production | ||
+ | GRANT USAGE ON SCHEMA public to backup_user; | ||
+ | GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO backup_user; | ||
+ | GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup_user; | ||
+ | </ | ||
+ | |||
+ | === Wyświetlenie tabel w bazie danych | ||
< | < | ||
Linia 101: | Linia 120: | ||
</ | </ | ||
- | Wyświetlenie listy użytkowników: | + | === Wyświetlenie listy użytkowników |
< | < | ||
Linia 116: | Linia 135: | ||
</ | </ | ||
- | Wyświetlenie listy instancji bazodanowych: | + | === Wyświetlenie listy instancji bazodanowych |
< | < | ||
Linia 133: | Linia 152: | ||
template1=# | template1=# | ||
+ | </ | ||
+ | |||
+ | ==== Backup ==== | ||
+ | |||
+ | === Sam czysty SQL === | ||
+ | |||
+ | < | ||
+ | $ data=`date +%Y_%m_%d` | ||
+ | $ pg_dump -h localhost -p 5432 -U user -O -b -E UTF8 -Fc -f " | ||
+ | </ | ||
+ | |||
+ | === Z kompresją === | ||
+ | |||
+ | < | ||
+ | $ pg_dump -h localhost -p 5432 -U user -O -b -E UTF8 -Z 9 -Fc -f " | ||
+ | </ | ||
+ | |||
+ | === Bez danych – sam schemat === | ||
+ | |||
+ | < | ||
+ | $ pg_dump -h localhost -p 5432 -U user -O -b -E UTF8 -s -Fc -f " | ||
+ | </ | ||
+ | |||
+ | === Same dane – bez schematu === | ||
+ | |||
+ | < | ||
+ | $ pg_dump -h localhost -p 5432 -U user -O -b -E UTF8 -a -Fc -f " | ||
+ | </ | ||
+ | |||
+ | === Wszystkie bazy === | ||
+ | |||
+ | < | ||
+ | $ pg_dumpall -h localhost -p 5432 -U mysql -O -b -E UTF8 -f " | ||
+ | </ | ||
+ | |||
+ | === Odtwarzanie bazy danych === | ||
+ | |||
+ | < | ||
+ | psql -h localhost -p 5432 -U user dbname < plik_db_sql.sql | ||
+ | </ | ||
+ | |||
+ | === Crontab === | ||
+ | |||
+ | Uwaga: gdy robimy kopię zapasową za pomocą crontab’a to pojawia się problem z hasłem, ponieważ nast nie będzie przy tym, aby można było je wpisać. Aby psql nie pytał o hasło musimy w katalogu domowym użytkownika z jakiego będą wykonywane kopię wpisać do pliku $HOME/ | ||
+ | |||
+ | < | ||
+ | host: | ||
+ | </ | ||
+ | |||
+ | np: | ||
+ | |||
+ | < | ||
+ | 127.0.0.1: | ||
+ | </ | ||
+ | |||
+ | ==== Użytkowanie ==== | ||
+ | |||
+ | === Zalogowanie się do PostgreSQL za pomocą psql === | ||
+ | |||
+ | < | ||
+ | $ psql -h localhost -p 15432 -U mediawiki mediawiki | ||
+ | Welcome to psql 8.3.5, the PostgreSQL interactive terminal. | ||
+ | |||
+ | Type: \copyright for distribution terms | ||
+ | \h for help with SQL commands | ||
+ | \? for help with psql commands | ||
+ | \g or terminate with semicolon to execute query | ||
+ | \q to quit | ||
+ | |||
+ | SSL connection (cipher: DHE-RSA-AES256-SHA, | ||
+ | |||
+ | mediawiki=> | ||
+ | </ | ||
+ | |||
+ | === Pokazanie struktury bazy danych === | ||
+ | |||
+ | < | ||
+ | mediawiki=> | ||
+ | mediawiki-> | ||
+ | List of relations | ||
+ | Schema | ||
+ | -----------+-----------------------+----------+----------- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | (51 rows) | ||
+ | |||
+ | mediawiki-> | ||
+ | </ | ||
+ | |||
+ | === Pokazanie struktury tabeli === | ||
+ | |||
+ | < | ||
+ | mediawiki-> | ||
+ | Table " | ||
+ | Column | ||
+ | ---------------+--------------------------+-------------------- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Indexes: | ||
+ | " | ||
+ | " | ||
+ | Foreign-key constraints: | ||
+ | " | ||
+ | |||
+ | mediawiki-> | ||
</ | </ |