Różnice między wybraną wersją a wersją aktualną.
| Nowa wersja | Poprzednia wersja | ||
| postgresql [2013/03/26 13:08] – utworzono kamil | postgresql [2025/01/11 18:58] (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-> | ||
| </ | </ | ||