Size: a a a

pgsql – PostgreSQL

2021 January 20

IR

Igor Rusakov in pgsql – PostgreSQL
А чего лог пишет?
источник

V

Viktor in pgsql – PostgreSQL
источник

V

Viktor in pgsql – PostgreSQL
Directory "/var/lib/pgsql/data" is missing or empty, но она есть
источник

IR

Igor Rusakov in pgsql – PostgreSQL
А права есть? У пользователя из под которого запускается pgsql
источник

IR

Igor Rusakov in pgsql – PostgreSQL
Не весь лог помещается на скрине
источник

am

a m in pgsql – PostgreSQL
Alexander
Надо смотреть, в чем проблема. Сами по себе bind mounts данные не корраптят.
Там совсем не mount --bind. Там под капотом должна быть штука из класса "union fie system". А с ними всю жизнь было плохо.
https://web.archive.org/web/20110510045317/https://www.slax.org/aufs.php
2010 год, чешский разработчик slax’а (дистрибутива, где пакеты с программами не распаковываются, а монтируются в систему) буквально собирает деньги на еду японскому разработчику файловой системы aufs. Именно на ней лет через пять смастерят докер. Сразу же после этого aufs выкинут из нового ядра.
Докероделы со своими инвесторам и гуглами рук не опустили и сразу же смастерили файловую систему overlayfs для нового ядра. Она оказалась настолько кривой, что ее сразу выкинули и сделали overlay2. Вроде на ней все работает до сих пор.
Насколько получившемуся стеку можно доверять — не знаю, не компетентен.
источник

A

Alexander in pgsql – PostgreSQL
a m
Там совсем не mount --bind. Там под капотом должна быть штука из класса "union fie system". А с ними всю жизнь было плохо.
https://web.archive.org/web/20110510045317/https://www.slax.org/aufs.php
2010 год, чешский разработчик slax’а (дистрибутива, где пакеты с программами не распаковываются, а монтируются в систему) буквально собирает деньги на еду японскому разработчику файловой системы aufs. Именно на ней лет через пять смастерят докер. Сразу же после этого aufs выкинут из нового ядра.
Докероделы со своими инвесторам и гуглами рук не опустили и сразу же смастерили файловую систему overlayfs для нового ядра. Она оказалась настолько кривой, что ее сразу выкинули и сделали overlay2. Вроде на ней все работает до сих пор.
Насколько получившемуся стеку можно доверять — не знаю, не компетентен.
union fs (на самом деле там есть несколько вариантов, в т.ч. без таких ФС типа overlayfs и aufs, например на базе lvm, btrfs и zfs) используется для ФС самого контейнера. volume-ы же — это в самом простом случае bind mount каталога с ФС хост-системы (именованные — это bind mount-ы из /var/lib/docker/volumes, анонимные — из указанного юзером каталога).
источник

A

Alexander in pgsql – PostgreSQL
И aufs никогда не была в ядре, оно изначально out of tree, и юзалась до докера обычно для бездисковых серверов (tmpfs поверх nfs) и live cd (tmpfs поверх squashfs).
источник

A

Alexander in pgsql – PostgreSQL
И overlay2 — это не ФС, а другой механизм докера по использованию ядерного overlayfs, несколько более эффективный в плане файловых дескрипторов.
источник

A

Alexander in pgsql – PostgreSQL
А так overlayfs по фичам уже давно догнал aufs, а по стабильности, пожалуй, даже опередил. Ни разу не сталкивался и даже не слышал последние несколько лет о проблемах с ним, а вот с aufs, бывало, и самому приходилось хлебать горя (хотя, вообще, обычно оно нормально работает, но баги, да, встречаются).
источник

am

a m in pgsql – PostgreSQL
Alexander
union fs (на самом деле там есть несколько вариантов, в т.ч. без таких ФС типа overlayfs и aufs, например на базе lvm, btrfs и zfs) используется для ФС самого контейнера. volume-ы же — это в самом простом случае bind mount каталога с ФС хост-системы (именованные — это bind mount-ы из /var/lib/docker/volumes, анонимные — из указанного юзером каталога).
Ага.
Тогда действительно — непонятно, как покарраптить вольюм.
источник

O

Oybek 🇺🇿 in pgsql – PostgreSQL
Which data type can write like this format?
источник

am

a m in pgsql – PostgreSQL
Oybek 🇺🇿
Which data type can write like this format?
SELECT to_char(now()::date, 'DD/MM/YYYY')
источник

O

Oybek 🇺🇿 in pgsql – PostgreSQL
a m
SELECT to_char(now()::date, 'DD/MM/YYYY')
didn't work 🤷‍♂
It changed data to 0
источник

O

Oybek 🇺🇿 in pgsql – PostgreSQL
I have fixed it 😊, thanks
источник

K

Kamoliddin in pgsql – PostgreSQL
ребят добрый день. Есть trigger функция внутри event функции:

CREATE OR REPLACE FUNCTION log_ddl() RETURNS event_trigger AS $func$
DECLARE
   audit_query TEXT;
 table_name TEXT;
BEGIN
 IF tg_tag = 'CREATE TABLE' THEN
   
   SELECT object_identity INTO table_name
     FROM pg_event_trigger_ddl_commands() WHERE object_type = 'table';
   
   --------------------------------------------
   CREATE OR REPLACE FUNCTION log_last_delete()
    RETURNS TRIGGER AS
   $$
   BEGIN
     INSERT INTO new_test.tableName_values VALUES (table_name);

      RETURN OLD;
   END
   $$ LANGUAGE plpgsql;
   ---------------------------------------------
   
   EXECUTE format('CREATE TRIGGER moveDeleted
     BEFORE DELETE ON %s
     FOR EACH ROW
     EXECUTE PROCEDURE log_last_delete();', table_name);
   
   SET search_path = public;
   
 END IF;
END
$func$ LANGUAGE plpgsql;

есть переменная table_name в event функции но мне нужно ее значение и в trigger функции но почему то вместо ее значения я получаю null
источник

K

Kamoliddin in pgsql – PostgreSQL
разве вложенные функции не видет переменные из parent функции ?
источник

K

Kamoliddin in pgsql – PostgreSQL
ERROR: ОШИБКА:  столбец "table_name" не существует
LINE 1: INSERT INTO new_test.tableName_values VALUES (table_name)
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
Kamoliddin
ребят добрый день. Есть trigger функция внутри event функции:

CREATE OR REPLACE FUNCTION log_ddl() RETURNS event_trigger AS $func$
DECLARE
   audit_query TEXT;
 table_name TEXT;
BEGIN
 IF tg_tag = 'CREATE TABLE' THEN
   
   SELECT object_identity INTO table_name
     FROM pg_event_trigger_ddl_commands() WHERE object_type = 'table';
   
   --------------------------------------------
   CREATE OR REPLACE FUNCTION log_last_delete()
    RETURNS TRIGGER AS
   $$
   BEGIN
     INSERT INTO new_test.tableName_values VALUES (table_name);

      RETURN OLD;
   END
   $$ LANGUAGE plpgsql;
   ---------------------------------------------
   
   EXECUTE format('CREATE TRIGGER moveDeleted
     BEFORE DELETE ON %s
     FOR EACH ROW
     EXECUTE PROCEDURE log_last_delete();', table_name);
   
   SET search_path = public;
   
 END IF;
END
$func$ LANGUAGE plpgsql;

есть переменная table_name в event функции но мне нужно ее значение и в trigger функции но почему то вместо ее значения я получаю null
В стандартном Постгресе нет вложенных функций. Т.е. вы можете внутри одной создать другую - но они будут независимы друг от друга. В  EDB форке Постгреса  они есть
источник

K

Kamoliddin in pgsql – PostgreSQL
Konstantin Knizhnik
В стандартном Постгресе нет вложенных функций. Т.е. вы можете внутри одной создать другую - но они будут независимы друг от друга. В  EDB форке Постгреса  они есть
а если через execute format ?
источник