select e.manager_id::text || ' - ' || array_agg(id)::text
from employees as e
where e.manager_id is not null
group by e.manager_id
order by e.manager_id;
with manager_groups as (
select manager_id::text, array_agg(' ' || id::text) as ids
from employees as e
where e.manager_id is not null
group by e.manager_id
order by e.manager_id
)
select
x.id
from (
select unnest(array_prepend(manager_id, ids)) as id
from manager_groups
) as x;
char*
для хранения названия файлаFILE* f = fopen("file.txt", "r");
getline
для чтения строк из файлаchar *filename = NULL;
FILE *file = NULL;
ssize_t read = 0;
size_t len = 0;
while ((read = getline(&filename, &len, file) > 0)
{
// Делаешь что-то с файлом
// Его название в переменной filename хранится
}
fclose(file);
if (filename)
{
free(filename);
}
UPDATE X, Y
а другой UPDATE Y, X
, т.е. первый взял блокировку сначала на X потом на Y, а другой - сначала на Y потом на X. Первая блокировка успешна, но вторые нет - они уже заняты.UPDATE X, Y
(в таком порядке), то дедлока не будет т.к. один из них сможет взять все блокировки на строки успешно. Поведение второго будет уже зависеть от уровня сериализации:pg_basebackup is used to take a base backup of a running PostgreSQL database cluster
make miyoomini
из корня репозитория. Можешь заметить, что в той директории, что ты указал, он (Makefile) тоже есть, но зависит от верхнеуровневых.__declspec(dllexport)
вручную.extern "C"
. В результате, ее имя не auth, а какое-нибудь B4__authV # Запуск кластера 15 версии
pg_ctlcluster start 15 main
port
. Изначально он такой:#port = 5342 # (change requires restart)
psql -p 5432 # 15 версия
psql -p 5433 # 13 версия
man 7 signals
BUGS
For example, an invalid memory access that causes delivery of SIGSEGV
on one CPU architecture may cause delivery of SIGBUS on another archi‐
tecture, or vice versa.
.text
- флаги секций. У каждой секции есть свои флаги, которые отвечают за возможности работы с этими секциями. objdump -h <executable>
. В частности, я запустил и вот такой вывод появился для бинарника14 .plt.sec 00000020 0000000000001060 0000000000001060 00001060 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
15 .text 00000118 0000000000001080 0000000000001080 00001080 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
16 .fini 0000000d 0000000000001198 0000000000001198 00001198 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
Как нормально разрабатывать если каждый раз следует обновлять контейнер?