Запитання з тегом «postgresql-9.4»

Версія PostgreSQL 9.4

2
Поступово оновлювати матералізований вигляд у PostgreSQL
Чи можна поступово оновлювати матеріалізований вигляд у PostgreSQL, тобто лише для нових або змінених даних? Розглянемо цю таблицю та матеріалізований вигляд: CREATE TABLE graph ( xaxis integer NOT NULL, value integer NOT NULL, ); CREATE MATERIALIZED VIEW graph_avg AS SELECT xaxis, AVG(value) FROM graph GROUP BY xaxis Періодично додаються нові …

5
ВИБІРТЕ ДИСТИНЦТ у кількох стовпцях
Припустимо, у нас є таблиця з чотирма стовпцями (a,b,c,d)одного типу даних. Чи можливо вибрати всі окремі значення в межах даних у стовпцях і повернути їх як єдиний стовпець чи мені потрібно створити функцію для досягнення цього?

2
Рядок повторної перевірки Cond: в планах запитів при скануванні растрової карти
Це відмова від коментарів до попереднього питання: Запит Postgres 9.4.4 займає назавжди Використовуючи PostgreSQL 9.4, завжди здається, що Recheck Cond:рядок після сканування індексу растрових зображень у планах запитів виводиться EXPLAIN. Як і у EXPLAINвисновку згаданого питання: -> Bitmap Heap Scan on table_three (cost=2446.92..19686.74 rows=8159 width=7) Recheck Cond: (("timestamp" > (now() …

3
Запитайте визначення матеріалізованого виду в Postgres
Мені цікаво, як запитувати визначення матеріалізованого виду в Postgres. Для довідки, те, що я сподівався зробити, дуже схоже на те, що ви можете зробити для звичайного перегляду: SELECT * FROM information_schema.views WHERE table_name = 'some_view'; що дає вам наступні стовпці: table_catalog table_schema table_name view_definition check_option is_updatable is_insertable_into is_trigger_updatable is_trigger_deletable is_trigger_insertable_into …

2
Чи зберігає Postgres порядок вставки записів?
Наприклад, коли я використовую запит, який повертає ідентифікатори запису INSERT INTO projects(name) VALUES (name1), (name2), (name3) returning id; Які виробляють вихід: 1 2 3 Чи вкаже цей ідентифікатор на відповідні вставлені значення? 1 -> name1 2 -> name2 3 -> name3

3
Як оновити PostgreSQL з версії 8.4 до 9.4?
Я хочу оновити свій PostgreSQL з версії 8.4 до 9.4 . Документація не надто ясно для мене. Чи втрачу я старі бази даних, якщо пройду оновлення? Як я можу створити резервну копію своїх старих баз даних, якщо я хочу їх втратити після оновлення? Як я можу оновити свій psql? Мій …

2
Як робити додаткове резервне копіювання щогодини в Postgres?
Спроба зробити погодинну поступову резервну копію одного сервера Postgres (Win7 64). У мене є така настройка postgresql.conf: max_wal_senders = 2 wal_level = archive archive_mode = on archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"' (перезапуск) Я робив резервне резервне копіювання за допомогою pg_basebackup -U postgres -D ..\foo -F t -x Який base.tarфайл створив …

1
PostgreSQL JSON масив запитів проти кількох значень
Я хочу написати запит проти jsonbтипу в Postgres, який, маючи масив ідентифікаторів клієнтів, знайде відповідні групи. Враховуючи цей приклад таблиці: CREATE TABLE grp(d JSONB NOT NULL); INSERT INTO grp VALUES ('{"name":"First","arr":["foo"], "customers":[{"id":"1", "name":"one"},{"id":"2", "name":"two"}]}') , ('{"name":"Second","arr":["foo","bar"], "customers":[{"id":"3", "name":"three"},{"id":"4", "name":"four"}]}') , ('{"name":"Third","arr":["bar","baz"], "customers":[{"id":"5", "name":"five"},{"id":"6", "name":"seven"}]}'); Я знайшов подібне запитання ( PostgreSql …

2
Пошук у триграмі стає набагато повільнішим, оскільки рядок пошуку збільшується
У базі даних Postgres 9.1 у мене є таблиця table1з ~ 1.5M рядками та стовпцем label(спрощені назви заради цього питання). Існує функціональний триграм-індекс на lower(unaccent(label))( unaccent()був незмінний, щоб дозволити його використання в індексі). Наступний запит досить швидкий: SELECT count(*) FROM table1 WHERE (lower(unaccent(label)) like lower(unaccent('%someword%'))); count ------- 1 (1 row) …

1
Як розкласти ctid на номери сторінок і рядків?
Кожен рядок у таблиці містить системний стовпець ctid типу, tidякий представляє фізичне розташування рядка: create table t(id serial); insert into t default values; insert into t default values; select ctid , id from t; ctid | ід : ---- | -: (0,1) | 1 (0,2) | 2 dbfiddle тут Який …

1
Як розділити довгий рядок коду PL / pgSQL на кілька рядків?
Чи є спосіб розділити довгий рядок коду PL / pgSQL на кілька рядків? Мій контекст - це тригерна функція, коли я вписую вставки в таблицю відповідно до: INSERT INTO insert_log (log_time, description) VALUES ( now() , 'A description. Made up of 3 semi long sentences. That I want to split, …

2
PostgreSQL приєднання за допомогою JSONB
У мене є цей SQL: CREATE TABLE test(id SERIAL PRIMARY KEY, data JSONB); INSERT INTO test(data) VALUES ('{"parent":null,"children":[2,3]}'), ('{"parent":1, "children":[4,5]}'), ('{"parent":1, "children":[]}'), ('{"parent":2, "children":[]}'), ('{"parent":2, "children":[]}'); Це дало б: id | data ----+-------------------------------------- 1 | {"parent": null, "children": [2, 3]} 2 | {"parent": 1, "children": [4, 5]} 3 | {"parent": …

1
Як отримати конкретний об'єкт з масиву jsonb в PostgreSQL?
У мене є поле під назвою "user", яке містить масив json, який приблизно так виглядає: "user": [{ "_id" : "1", "count" : "4" }, { "_id" : "3", "count": "4"}] Тепер я хочу запит на зразок: select count from tablename where id = "1" Я не в змозі отримати конкретне …

2
Одночасні дзвінки на одну і ту ж функцію: як відбуваються тупикові місця?
Моя функція new_customerвикликається веб-додатком кілька разів на секунду (але лише один раз за сеанс). Найперше, що він робить - це заблокувати customerтаблицю (зробити "вставку, якщо її немає" - простий варіант а upsert). Я розумію документи , що інші дзвінки new_customerповинні просто стояти в черзі, поки всі попередні дзвінки не закінчаться: …

1
Індекс не використовується з `= any ()`, але використовується з `in`
Таблиця tмає два індекси: create table t (a int, b int); create type int_pair as (a int, b int); create index t_row_idx on t (((a,b)::int_pair)); create index t_a_b_idx on t (a,b); insert into t (a,b) select i, i from generate_series(1, 100000) g(i) ; Індекс не використовується з anyоператором: explain analyze …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.