Skip to content

Instantly share code, notes, and snippets.

@gurjeet
gurjeet / DropTablespaceProblem
Created November 9, 2010 09:27
DROP TABLESPACE with crash-resistance (remove unused files)
We are facing a problem in dropping a tablespace after crash recovery. The
recovery starts from the last checkpoint, but the tables that were created by
a transaction in a tablespace before the checkpoint are still lying around; the
transaction had not finished by the time of crash.
After recovery, when the app tries to drop the tablespace, the command fails
since the tablespace directory is not empty.
Solving this problem has become quite critical since the the platform where
Postgres is being used is supposed to run unattended for a few years. The
@gurjeet
gurjeet / Quotes_tech.txt
Created December 13, 2010 14:04
Quotes heard in technical discussions
This proposal strikes me as something mysql would do, not the standards committee.
- Tom Lane responding to an interpretation of SQL:2011.
DBAs hate getting eaten by crocodiles.
- Robert Haas.
Get on the stick, Cupertino ... everybody else had this fixed six months ago.
- Tom Lane; prompting Apple to fix their OpenSSL libraries.
sfdisk delete a partition https://laas.mine.nu/uclibc/util-linux-ng-2.14.2/fdisk/sfdisk.examples
http://www.rodsbooks.com/missing-parts/index.html
http://www.dedoimedo.com/computers/linux-uninstall.html
@gurjeet
gurjeet / gist:3887248
Created October 14, 2012 04:03 — forked from pedromtavares/gist:1136121
nodejs streamer
var http = require('http');
var url = 'http://radio.pedromtavares.com:10000'; // URL to a known Icecast stream
var icecast = require('icecast-stack');
var stream = icecast.createReadStream(url);
// var radio = require("radio-stream");
// var stream = radio.createReadStream(url);
@gurjeet
gurjeet / build-farm.conf.diff
Created January 4, 2013 20:01
The diff of what Andrew Dunstan changed on my Windows Server 2012 + MinGW to get proper builds of Postgres.
Administrator@AMAZONA-AK1BTP3 ~
$ diff -c -r del/build-farm-4.9/ bf/
diff -c -r del/build-farm-4.9//build-farm.conf bf//build-farm.conf
*** del/build-farm-4.9//build-farm.conf Mon Nov 12 09:47:55 2012
--- bf//build-farm.conf Thu Jan 3 20:51:07 2013
***************
*** 35,41 ****
tar_log_cmd => undef, # default is "tar -z -cf runlogs.tgz *.log"
# replacement must have the same effect
# must be absolute, can be either Unix or Windows style for MSVC
@gurjeet
gurjeet / Postgres build on Windows Server 2012 using MinGW
Last active December 10, 2015 17:59
Documents the steps of building PostgreSQL on Windows Server 2012 64bit using MinGW (32bit builds as well as 64bit builds)
Beware:
=======
If you wish to compile Postgres with XML support, tough luck! The libxml2 package that comes with MinGW/MSYS, named msys-libxml2, is rejected by gcc like this:
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/MinGW/msys/1.0/lib/libxml2.a when searching for -lxml2
This is a known limitation as of now. Andrew Dunstan, the community buildfarm maintainer, as acknowledged this.
Make the environment bearable:
#!/bin/bash
set -e
# Usage:
# rsync_parallel.sh [--parallel=N] [rsync args...]
#
# Options:
# --parallel=N Use N parallel processes for transfer. Defaults to 10.
#
# Notes:
@gurjeet
gurjeet / Dockerfile
Last active December 23, 2015 23:19
Two consecutive runs of `docker build .` use different caches!
FROM ubuntu
# Update the software repositories
RUN apt-get update
# Install package for lsb_release binary
RUN apt-get install -y lsb-release
# Install package that provides add-apt-repository
RUN apt-get install -y python-software-properties
@gurjeet
gurjeet / history
Created October 26, 2013 06:49
Radua/liquidsoap VM's history and config file
1 top -c -d 1
2 cd
3 top -c -d 1
4 ping google.com
5 ifconfig
6 sudo apt-get install icecast2
7 sudo apt-get remove icecast2
8 sudo apt-get install icecast2
9 sudo apt-get install liquidsoap
10 man iceauth
@gurjeet
gurjeet / gist:088a91d6f45cfe1e842d
Last active August 29, 2015 14:01
Why timestamp(0) rounding is horrible
edb=# select now() as "time", now()::timestamptz(0) as "time_round", date_trunc('seconds', now()) as "time_trunc";
time | time_round | time_trunc
----------------------------------+---------------------------+---------------------------
21-MAY-14 14:19:04.549852 -04:00 | 21-MAY-14 14:19:05 -04:00 | 21-MAY-14 14:19:04 -04:00
(1 row)