Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
databases:postgres [2023/06/06 05:03] admin |
databases:postgres [2025/03/01 14:08] (текущий) admin [Роли PostgreSQL и методы аутентификации] |
||
---|---|---|---|
Строка 15: | Строка 15: | ||
Пользователь " | Пользователь " | ||
- | <code bash>$ sudo su - postgres | + | <code bash> |
- | $ psql </ | + | $ sudo su - postgres |
+ | $ psql | ||
+ | |||
+ | # PG Activity | ||
+ | su postgres | ||
+ | bash-4.4$ pg_activity | ||
+ | |||
+ | </ | ||
Строка 47: | Строка 54: | ||
# List tables | # List tables | ||
\dt || SELECT * FROM pg_catalog.pg_tables; | \dt || SELECT * FROM pg_catalog.pg_tables; | ||
- | |||
# Список пользователей | # Список пользователей | ||
\du | \du | ||
- | |||
# Права пользователя | # Права пользователя | ||
SELECT * FROM information_schema.table_privileges where grantee = ' | SELECT * FROM information_schema.table_privileges where grantee = ' | ||
+ | # Сменить пароль пользователю | ||
+ | \password < | ||
</ | </ | ||
Строка 72: | Строка 79: | ||
GRANT USAGE ON SCHEMA < | GRANT USAGE ON SCHEMA < | ||
GRANT SELECT ON ALL TABLES IN SCHEMA < | GRANT SELECT ON ALL TABLES IN SCHEMA < | ||
+ | |||
+ | GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO my_user; | ||
+ | |||
# Удаление прав | # Удаление прав | ||
Строка 113: | Строка 123: | ||
<code sql> | <code sql> | ||
ALTER ROLE super WITH PASSWORD ' | ALTER ROLE super WITH PASSWORD ' | ||
- | |||
<code bash> | <code bash> | ||
Строка 165: | Строка 174: | ||
<code bash> | <code bash> | ||
su - postgres -c " | su - postgres -c " | ||
- | |||
# Базу нужно создать перед восстановлением | # Базу нужно создать перед восстановлением | ||
su - postgres -c " | su - postgres -c " | ||
+ | |||
+ | # Полный бекап | ||
+ | pg_dumpall -h localhost -p 27953 -U backuper --schema-only --file / | ||
+ | # Восстановление | ||
+ | psql -U postgres -p 27953 -f / | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <code bash> | ||
+ | pg_lsclusters | ||
+ | |||
+ | pg_ctlcluster | ||
+ | |||
+ | pg_ctlcluster 9.4 secondary reload/ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Liqubase ==== | ||
+ | |||
+ | < | ||
+ | < | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | java -cp liquibase-core-4.9.0.jar: | ||
+ | liquibase.integration.commandline.LiquibaseCommandLine update \ | ||
+ | -Ddefaults-file=liquibase.properties \ | ||
+ | --url=${LIQUI_URL} \ | ||
+ | --username=${LIQUI_UNAME} \ | ||
+ | --password=${LIQUI_PASSWD} | ||
+ | </ | ||
+ | |||
+ | Файл .properties\\ | ||
+ | Аргументы переопределяют проперти\\ | ||
+ | <code yaml> | ||
+ | changeLogFile: | ||
+ | driver: org.postgresql.Driver | ||
+ | url: | ||
+ | username: | ||
+ | password: | ||
+ | verbose: true | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | В changelog используется так | ||
+ | <code xml> | ||
+ | (...) | ||
+ | ${my_var} // либо в кавычках | ||
+ | (...) | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | export LIQUIBASE_HOME=`pwd` | ||
+ | java -jar internal/ | ||
+ | --changelog-file=0001_changelog.xml \ | ||
+ | --url=jdbc: | ||
+ | --username=postgres \ | ||
+ | --password=postgres | ||
+ | </ | ||
+ | |||
+ | В подпапке " | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Docker ==== | ||
+ | [[linux: | ||
+ | |||
+ | |||
+ | |||