Skip to content

Instantly share code, notes, and snippets.

View aisayko's full-sized avatar
💭
I may be slow to respond.

Alex Isayko aisayko

💭
I may be slow to respond.
View GitHub Profile
@aisayko
aisayko / bulk_upsert.py
Last active May 8, 2022 23:53
Postgresql bulk upsert in Python (Django)
def bulk_upsert(model, fields, values, by):
"""
Return the tuple of (inserted, updated) ids
"""
result = (None, None)
if values:
stmt = """
WITH data_set AS (
INSERT INTO %s (%s)
def bulk_upsert(model, fields, values, by):
stmt = """
WITH
-- write the new values
data_set(%s) AS (
VALUES %s
),
-- update existing rows
upsert AS (
UPDATE %s t
@aisayko
aisayko / postgres_queries_and_commands.sql
Created August 23, 2017 11:19 — forked from rgreenjr/postgres_queries_and_commands.sql
Useful PostgreSQL Queries and Commands
-- show running queries (pre 9.2)
SELECT procpid, age(query_start, clock_timestamp()), usename, current_query
FROM pg_stat_activity
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
-- show running queries (9.2)
SELECT pid, age(query_start, clock_timestamp()), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
try:
page_number = int(cur_page)
except ValueError:
raise Http404
try:
page_obj = paginator.page(page_number)
except InvalidPage:
raise Http404