
Anton
04.05.2017
14:30:44
SELECT table_name, pg_size_pretty(table_size) AS table_size, pg_size_pretty(indexes_size) AS indexes_size, pg_size_pretty(total_size) AS total_size FROM ( SELECT table_name, pg_table_size(table_name) AS table_size, pg_indexes_size(table_name) AS indexes_size, pg_total_relation_size(table_name) AS total_size FROM ( SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name FROM information_schema.tables where table_name='message' ) AS all_tables ORDER BY total_size DESC ) AS pretty_sizes;
table_name | table_size | indexes_size | total_size
--------------------+------------+--------------+------------
"public"."message" | 72 MB | 224 kB | 73 MB
оно ?
простите, не умею контретно тоаст смотреть =(
да, убрал из выборки колонку bytea и все ок

Google

Anton
04.05.2017
14:35:03
определенно дело в toast
спасибо за наводку

raksita
04.05.2017
14:35:56
вообще-то pg_total_relation_size показывает вместе с TOAST: "Total disk space used by the specified table, including all indexes and TOAST data"

Евгений
04.05.2017
14:57:18
Добрый день всем! народ, подскажите пожалуйста почему ругается на ошибку синтаксиса перед AS
CREATE OR REPLACE FUNCTION _Bidirectional_transfers()
RETURNS SETOF AS
$BODY$
SELECT kot.f1, kot.f2, kot.f3, kot.f4, kot.f5, kot.f6, kot.f7, kot.f8, kot.f9, kot.f10 FROM public.table_name AS kot WHERE (kot.f3=kot.f2) AND (kot.f2=kot.f3) AND (kot.f4='opened') AND (kot.f5=FALSE)
$BODY$
LANGUAGE sql VOLATILE SECURITY DEFINER
COST 100;
Конец рабочего дня сказывается уже!) Я так понимаю это из-за того что я не правильно указал возвращаемое значение функции?

Darafei
04.05.2017
15:00:05
смотри, я скопировал это в DataGrip, нажал "переформатировать" и он подчеркнул, где ошибка

Anatoliy
04.05.2017
15:00:39
эм, потому что не указан тип, который вернется?

Евгений
04.05.2017
15:04:13
Да, я знаю, что его не указал, как правильно его указать? что например он возвращает результаты селеста с той таблицы? setof не катит через TABLE делать?

Anatoliy
04.05.2017
15:04:36
returns table (field type, field type)

Andrey
04.05.2017
15:07:17

Darafei
04.05.2017
15:07:49
да, картинка пожалась :(

Anatoliy
04.05.2017
15:09:13
также тип можно создать композитный, или возврщать тип table like – если где-то такой набор полей уже есть.

Евгений
04.05.2017
15:09:56
ок! Сейчас будем пробовать ....

Google

Евгений
04.05.2017
15:10:09
Спасибо коллективному разуму!)

Anton [Mgn, az09@osm]
04.05.2017
15:44:11
коллективный разум, подскажи плиз! какую фс с какими параметрами лучше делать под эхотаг?
LSSD есичо, C2M сервак

Pavel
04.05.2017
16:20:36

Darafei
04.05.2017
16:28:14
1) поставить
2) открыть каталог с твоим кодом
3) зацепиться за свою девелоперскую базу
4) пользоваться как редактором с волшебным автодополнением

Anton [Mgn, az09@osm]
04.05.2017
16:29:52
извините за нубский вопрос
# /usr/pgsql-9.6/bin/postgresql96-setup initdb это одна команда или две?

Anatoliy
04.05.2017
16:30:21
-setup – это бинарник, аргумент initdb

Anton [Mgn, az09@osm]
04.05.2017
16:30:49
а сейчас я в инит хочу -D сказать - проканает?

Mike Chuguniy
04.05.2017
18:24:01

Anton [Mgn, az09@osm]
04.05.2017
18:24:40
https://www.mankier.com/1/postgresql-setup вот это нашел
а вот что за PGSETUP_INITDB_OPTIONS никто не знает
может не выпендриваться а сделать инициализацию как у всех нормамльных осей? (это тут цент у меня)

Mike Chuguniy
04.05.2017
18:31:05
а вот что за PGSETUP_INITDB_OPTIONS никто не знает
Там же наглийским по черному написано: Environment.
Т.е. определяете переменную окружения PGSETUP_INITDB_OPTIONS="-D </path/to/instance> [any other options for initdb]> и запускаете postgresql96-setup

Anton [Mgn, az09@osm]
04.05.2017
18:32:02
что значит "определяете"?
а, видел же подобное
# PGSETUP_INITDB_OPTIONS="-D /path/to/instance" /usr/pgsql-9.6/bin/postgresql96-setup initdb так?

Mike Chuguniy
04.05.2017
18:35:06
похоже на правду

Google

Mike Chuguniy
04.05.2017
18:35:29
Только в конце первой строки слеш обратный, а не прямой

Anton [Mgn, az09@osm]
04.05.2017
18:36:20

Mike Chuguniy
04.05.2017
18:36:46
Ааа, понятно.

Anton [Mgn, az09@osm]
04.05.2017
18:36:52
просто по путям скрипт не находится (настраивать лень) вот полностью и указываю

Mike Chuguniy
04.05.2017
18:37:09
Хых, вот уж никогда бы не подумал, что телега - это телеграм.

Anton [Mgn, az09@osm]
04.05.2017
18:37:43
чот уже прижилось
похоже на правду
[root@scw-ae7500 ~]# PGSETUP_INITDB_OPTIONS="-D /mnt/ssd/pgsql" /usr/pgsql-9.6/bin/postgresql96-setup initdb
Data directory is not empty!
похоже неправда
по дефолтному пути уже кластер инициализирован был
а как удалить кластер кстати?
наверно rm?

Mike Chuguniy
04.05.2017
18:50:01

Anton [Mgn, az09@osm]
04.05.2017
18:50:36
rm он и в африке rm )

Mike Chuguniy
04.05.2017
18:51:05
rm надо натравливать не только на кластер, но и на конфиги. Пакетные манагеры оченно люблют конфиги в /etc/postgresql складывать.

Anton [Mgn, az09@osm]
04.05.2017
18:52:39
не, такого не наблюдается
вот кстати о конфигах
я в печали, эта инструкция не для людей

Darafei
04.05.2017
19:39:37
а зачем запускать два постмастера? :)

Anton [Mgn, az09@osm]
04.05.2017
19:41:39
да мне и одного достаточно будет. но не по дефолтному пути

Google

Anton [Mgn, az09@osm]
04.05.2017
19:44:13
или вот например на том же инстансе проверить восстановление как?
я наверно нублю по-черному... но не понимаю как мне в центоси кластер развернуть на папке отличной от /var/lib/pgsql

Sergey
04.05.2017
19:51:17
центось какая?

Anton [Mgn, az09@osm]
04.05.2017
19:51:23
7

Sergey
04.05.2017
19:51:24
как запускаешь?

Anton [Mgn, az09@osm]
04.05.2017
19:51:47
никого еще не запустил )

Sergey
04.05.2017
19:51:49
ок, init.d/systemd unit что там прописано?

Anton [Mgn, az09@osm]
04.05.2017
19:54:26
[root@scw-ae7500 init.d]# pwd
/etc/rc.d/init.d
[root@scw-ae7500 init.d]# ls
functions netconsole network README

Admin
ERROR: S client not available

Sergey
04.05.2017
19:56:33
ну ясно, а тут что:
ls /lib/systemd/system/

Anton [Mgn, az09@osm]
04.05.2017
19:57:17
тут больше

Sergey
04.05.2017
19:57:55
ls /lib/systemd/system/ | grep postgre
что-нибудь есть?

Anton [Mgn, az09@osm]
04.05.2017
19:58:35
postgresql-9.6.service есть

Sergey
04.05.2017
19:58:58
ок
cat /lib/systemd/system/postgresql-9.6.service


Anton [Mgn, az09@osm]
04.05.2017
20:01:52
[Unit]
Description=PostgreSQL 9.6 database server
After=syslog.target
After=network.target
[Service]
Type=notify
User=postgres
Group=postgres
# Note: avoid inserting whitespace in these Environment= lines, or you may
# break postgresql-setup.
# Location of database directory
Environment=PGDATA=/var/lib/pgsql/9.6/data/
# Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog
# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
ExecStartPre=/usr/pgsql-9.6/bin/postgresql96-check-db-dir ${PGDATA}
ExecStart=/usr/pgsql-9.6/bin/postmaster -D ${PGDATA}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
[Install]
WantedBy=multi-user.target
ой, сорри


Sergey
04.05.2017
20:02:42
Environment=PGDATA=/var/lib/pgsql/9.6/data/
вот и весь ответ

Google

Anton [Mgn, az09@osm]
04.05.2017
20:03:30
42

Sergey
04.05.2017
20:04:01
что 42?

Аггей
04.05.2017
20:04:12
))

Anton [Mgn, az09@osm]
04.05.2017
20:04:20
это ответ ))

Аггей
04.05.2017
20:04:22
Смысл жизни

Anton [Mgn, az09@osm]
04.05.2017
20:05:04

Sergey
04.05.2017
20:05:10
не
это прописано
во всяком случае service postgresql initdb не спасал

Anton [Mgn, az09@osm]
04.05.2017
20:07:53
т.е. мне вот тут прописать свой путь и снова запустить /usr/pgsql-9.6/bin/postgresql96-setup initdb?

Sergey
04.05.2017
20:08:42
как-то так

Anton [Mgn, az09@osm]
04.05.2017
20:10:19
а "старый" rm? =)
правда хома юзера посгрес куда тогда будет?

Sergey
04.05.2017
20:12:38
чаго?

Айтуар
04.05.2017
20:16:46

Anton [Mgn, az09@osm]
04.05.2017
20:17:34
rm -R /var/lib/pgsql тогда?
как-то так
ребутнуть надо? а то всё равно в то же место тычется
[root@scw-ae7500 init.d]# /usr/pgsql-9.6/bin/postgresql96-setup initdb
Initializing database ... touch: cannot touch ‘/var/lib/pgsql/9.6/initdb.log’: No such file or directory
failed, see /var/lib/pgsql/9.6/initdb.log
еще и издевается )

Sergey
04.05.2017
20:39:49
а он у тебя запущен был?
так-то да, systemctl restart postgresql-9.6
он может при этом попросить обновить сервисы

Anton [Mgn, az09@osm]
04.05.2017
20:47:33
всем спасибо и спокойной ночи. завтра продолжим )