to post messages and comments.

← All posts tagged удобне

```
for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" YOUR_DB` ; do psql -c "alter table \"$tbl\" owner to NEW_OWNER" YOUR_DB ; done

for tbl in `psql -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public';" YOUR_DB` ; do psql -c "alter table \"$tbl\" owner to NEW_OWNER" YOUR_DB ; done

for tbl in `psql -qAt -c "select table_name from information_schema.views where table_schema = 'public';" YOUR_DB` ; do psql -c "alter table \"$tbl\" owner to NEW_OWNER" YOUR_DB ; done
```

Основное в конфиге:

shared_buffers — дать половину оперативки. Потюнить в системе файловый кэш, чтобы уменьшить шанс двойного кэширования.
work_mem = 64MB (поставить для начала) и смотреть за созданием temp-файлов. Если они есть — увеличивать
temp_buffers = 32MB
maintenance_work_mem = 2GB
max_stack_depth = 4MB

В системе (FreeBSD):
# /boot/loader.conf:
kern.ipc.semmns=1024
kern.ipc.semmni=256

# /etc/sysctl.conf:
kern.ipc.shm_use_phys=1
kern.ipc.shmall=8605532
kern.ipc.shmmax=35248259072 # если памяти 64 гига и мы хотим половину дать постгресу.

+ пускать всех только через pgbouncer.
— В общем-то, для начала этого хватит чтобы система уже быстро работала на больших объемах данных.
Если будет проседать дисковый i/o, нужно смотреть в сторону:

synchronous_commit = off
checkpoint_timeout
checkpoint_completion_target
(размазываем чекпоинты по времени)