Size: a a a

pgsql – PostgreSQL

2021 January 25

DG

Denis Girko ☕️ in pgsql – PostgreSQL
Warstone
=> TRUNCATE temp_test;
TRUNCATE TABLE
unisocial=> SELECT COUNT(*) FROM temp_test;
count
-------
    0
(1 row)

=> INSERT INTO temp_test VALUES(1) ON CONFLICT (id) DO UPDATE SET id = EXCLUDED.id RETURNING id;
id
----
 1
(1 row)

INSERT 0 1
=> SELECT COUNT(*) FROM temp_test;
count
-------
    1
(1 row)

=> INSERT INTO temp_test VALUES(1) ON CONFLICT (id) DO UPDATE SET id = EXCLUDED.id RETURNING id;
id
----
 1
(1 row)

INSERT 0 1
=> SELECT COUNT(*) FROM temp_test;
count
-------
    1
(1 row)

=> \d+ temp_test
                                              Table "public.temp_test"
Column |  Type  | Collation | Nullable |                Default                | Storage | Stats target | Description
--------+--------+-----------+----------+---------------------------------------+---------+--------------+-------------
id     | bigint |           | not null | nextval('temp_test_id_seq'::regclass) | plain   |              |
Indexes:
   "temp_test_pkey" PRIMARY KEY, btree (id)


Не работает, судя по всему...
Пожалуй, я бы тогда разбил на два запроса: ON CONFLICT DO NOTHING и ручной UPDATE.
источник

DG

Denis Girko ☕️ in pgsql – PostgreSQL
Dmitry Marakasov
Привет. А можно как-то из SELECT .. ON CONFLICT DO UPDATE .. RETURNING получить информацию о том, была запись вставлена или обновлена?
@Warstone Вот тред, где я точно так же вписался не в тему.
источник

KZ

Konstantin Zaitsev in pgsql – PostgreSQL
Warstone
=> TRUNCATE temp_test;
TRUNCATE TABLE
unisocial=> SELECT COUNT(*) FROM temp_test;
count
-------
    0
(1 row)

=> INSERT INTO temp_test VALUES(1) ON CONFLICT (id) DO UPDATE SET id = EXCLUDED.id RETURNING id;
id
----
 1
(1 row)

INSERT 0 1
=> SELECT COUNT(*) FROM temp_test;
count
-------
    1
(1 row)

=> INSERT INTO temp_test VALUES(1) ON CONFLICT (id) DO UPDATE SET id = EXCLUDED.id RETURNING id;
id
----
 1
(1 row)

INSERT 0 1
=> SELECT COUNT(*) FROM temp_test;
count
-------
    1
(1 row)

=> \d+ temp_test
                                              Table "public.temp_test"
Column |  Type  | Collation | Nullable |                Default                | Storage | Stats target | Description
--------+--------+-----------+----------+---------------------------------------+---------+--------------+-------------
id     | bigint |           | not null | nextval('temp_test_id_seq'::regclass) | plain   |              |
Indexes:
   "temp_test_pkey" PRIMARY KEY, btree (id)


Не работает, судя по всему...
В 9.6 RETURNING (xmax = 0) AS inserted можно было, но гарантий такой реализации нет естественно (((((((
источник

MR

Mikhail Rodin in pgsql – PostgreSQL
Всем привет! Вопрос тривиальный и вместе с тем болезненный: по стечению обстоятельств удалили часть файлов в директории базы (из /lib/pgsql/data/base/77140). Бэкапа как водится нет. Возможно ли восстановление из логов в таком случае? pg 9.5
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
Mikhail Rodin
Всем привет! Вопрос тривиальный и вместе с тем болезненный: по стечению обстоятельств удалили часть файлов в директории базы (из /lib/pgsql/data/base/77140). Бэкапа как водится нет. Возможно ли восстановление из логов в таком случае? pg 9.5
Нет. Логи накатываются на что-то (на данные сохранённые последним чекпоинтом). Если данные вы потёрли то и восстанавливать нечего.
источник

MR

Mikhail Rodin in pgsql – PostgreSQL
Konstantin Knizhnik
Нет. Логи накатываются на что-то (на данные сохранённые последним чекпоинтом). Если данные вы потёрли то и восстанавливать нечего.
понятно, т.е только восстановление файлов средствами системы. Странно что сам postgres запускается, и уже при обращении к базе выдает FATAL:  could not open file "base/77140/2601": No such file or directory
Previous connection kept
источник

MR

Mikhail Rodin in pgsql – PostgreSQL
в любом случае спасибо
источник

П

Павел П. in pgsql – PostgreSQL
Mikhail Rodin
в любом случае спасибо
Можно определить к какой таблице относился файл и попробовать снять дамп за исключением этой таблицы
Хоть что-то спасëтся.
источник

MR

Mikhail Rodin in pgsql – PostgreSQL
а как опеделить если не выходит подключиться к базе?
источник

П

Павел П. in pgsql – PostgreSQL
И правда..
источник

🎃

🎃 Даниил ◠‿◠✿... in pgsql – PostgreSQL
пытаюсь записать бинарные данные в постгрес, но ошибка, на mysql всё работает. Поле uuid(bytea)
источник

🎃

🎃 Даниил ◠‿◠✿... in pgsql – PostgreSQL
источник

M

Milkhael in pgsql – PostgreSQL
Невалидная последовательность байтов для UTF8
источник

M

Milkhael in pgsql – PostgreSQL
Проблема с кодировкой на входе
источник

M

Milkhael in pgsql – PostgreSQL
вон там, где крякозабры
источник

🎃

🎃 Даниил ◠‿◠✿... in pgsql – PostgreSQL
Milkhael
вон там, где крякозабры
Это и есть те данные
источник

🎃

🎃 Даниил ◠‿◠✿... in pgsql – PostgreSQL
Просто в консоли же они не отобразятся нормально
источник

🎃

🎃 Даниил ◠‿◠✿... in pgsql – PostgreSQL
В mysql использую binary(16)
источник

M

Milkhael in pgsql – PostgreSQL
🎃 Даниил ◠‿◠✿
В mysql использую binary(16)
судя по содержимому это строка, но раз в мускле бинарные, то попробуйте тип bytea в pg. Сейчас небось в text пытаетесь запихнуть их?
источник

🎃

🎃 Даниил ◠‿◠✿... in pgsql – PostgreSQL
Milkhael
судя по содержимому это строка, но раз в мускле бинарные, то попробуйте тип bytea в pg. Сейчас небось в text пытаетесь запихнуть их?
В bytea
источник