diff options
| author | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
|---|---|---|
| committer | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
| commit | e5abc1fe99340b979b18864d978179f71fe8f5c5 (patch) | |
| tree | 98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /MacOS | |
First
Diffstat (limited to 'MacOS')
| -rw-r--r-- | MacOS/Homebrew.md | 1 | ||||
| -rw-r--r-- | MacOS/Postgresql.md | 113 |
2 files changed, 114 insertions, 0 deletions
diff --git a/MacOS/Homebrew.md b/MacOS/Homebrew.md new file mode 100644 index 0000000..17d98e2 --- /dev/null +++ b/MacOS/Homebrew.md @@ -0,0 +1 @@ +`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` diff --git a/MacOS/Postgresql.md b/MacOS/Postgresql.md new file mode 100644 index 0000000..57b6bda --- /dev/null +++ b/MacOS/Postgresql.md @@ -0,0 +1,113 @@ +`brew install postgresql` + +_В автозагрузку:_ +`brew services start postgresql` + +_Запуск вручную:_ +`pg_ctl -D /usr/local/var/postgresql start` + +_Перезагрузка:_ +`brew services restart postgresql` + +_Проверка версии:_ +`brew info postgresql` + +_Инициализация по умолчанию:_ +`initdb --locale=C -E UTF-8 /opt/homebrew/var/postgresql@14` + +_Экспортировать переменную:_ +`export PATH=/opt/homebrew/bin:$PATH` + +_Если автозагрузка не сработает, директория здесь:_ +`~/Library/LaunchAgents` + +_Создаем симлинк:_ +`ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents` + +_Добавляем в автозагрузку:_ +`launchctl load ~/Library?LaunchAgents/homebrew.mxcl.postgresql.plist` + +_Подключение к БД на MacOS (отличается от Linux). Проверяем пользователей:_ +`psql -l` + +![[Pasted image 20240312221215.png]] + +_Для подключения указываем Owner из таблицы выше:_ +`sudo psql -U vlapa -d postgres` + +_Создаем пользователя с паролем (сначала подключаемся как описано выше):_ +`CREATE USER ploshadka WITH PASSWORD '123456';` + +_Назначаем ему кодировку:_ +`ALTER ROLE ploshadka SET client_encoding TO 'utf8';` + +_Создаем БД для русской локали, чтобы была возможность поиска:_ +`CREATE DATABASE dbname TEMPLATE=template0 ENCODING 'UTF-8' LC_COLLATE 'ru_RU.UTF-8' LC_CTYPE 'ru_RU.UTF-8';` + +_Назначаем этому пользователю новую БД:_ +`GRANT ALL PRIVILEGES ON DATABASE dbname TO ploshadka;` + +_проверим по таблице все-ли верно:_ +`\list` + +_Как подключиться (на localhost достаточно создать БД и подключиться к ней указав только имя):_ +`dbname='stocks'` +_Остальное подхватится по умолчанию._ + +### Узнаем размер БД: + +_Заходим на сервер в оболочку Postgres:_ +`sudo psql -U vlapa -d postgres` + +_Проверяем размер:_ +`SELECT pg_size_pretty(pg_database_size('vlapa_db'));` + +### Узнаем размеры таблиц: + +_Находясь в оболочке Postgres входим в нужную БД:_ +`\c vlapa_db` + +_Вводим команду отсортировать таблицы по большему размеру:_ +```bash +SELECT nspname || '.' || relname AS "relation", + pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size" + FROM pg_class C + LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) + WHERE nspname NOT IN ('pg_catalog', 'information_schema') + AND C.relkind <> 'i' + AND nspname !~ '^pg_toast' + ORDER BY pg_total_relation_size(C.oid) DESC + LIMIT 20; +``` + +################################################## + +_PostgreSQL - SQL команды:_ + +Как добавить колонку в правильное место: +```bash +alter table tablename rename to oldtable; +create table tablename (column defs go here); +insert into tablename (col1, col2, col3) select col1, col2, col3 from oldtable; +``` + +_Как добавить колонку в конец:_ +```sh +ALTER TABLE portfolio ADD COLUMN price_diff_open_current FLOAT NULL; +``` + +_Переименовать таблицу:_ +```sh +alter table portfolio rename column lots to quantity; +``` + +_Обновить всю колонку одним значением:_ +```sh +UPDATE operations SET user_id='1' +``` + +_Переименовать базу данных:_ +```sh +alter database "stocks" rename to "captures"; +``` + |
