воскресенье, 23 января 2011 г.

I'm going insane...

Sanity lost. I'm tired and doubtfull. Life is shit. And we are just an awful error of evolution... Let this world die in pain...

суббота, 22 января 2011 г.

PostgreSQL talk on NYC MySQL Group event at Oracle's New York headquarters

This talk by EnterpriseDB's CEO is just a general introduction discussing the place of PostgreSQL in modern world. It wasn't a technical talk. However, a lot of interesting question were concerened like PostgreSQL development model, necessity of RAC open source alternative, scaling on commodity servers and so on.

пятница, 21 января 2011 г.

Looking for virtualization solution

Now I'm looking something to replace VMware ESXi... So far I looked at XCP (xen cloud platform). It has issues running OpenIndiana, so it was not a best choice for me. Then I looked at OpenNode. But satisfactory WebUI was available only for latest beta version, and I didn't manage to make it working. Maybe I should look at Aeolus Project? When I return to this task, I'll give it a try. Just for now I'm going to deploy new PostgreSQL server in old proved FreeBSD jailed environment. At least its overhead and complexity is minimal...

пятница, 14 января 2011 г.

repmgr FreeBSD port

I've just managed to create initial prototype of repmgr port for FreeBSD. Port compiles, but repmgrd dumps core for unknown reason... Need to investigate. Shell archive of the port is provided.

Updated: repmgrd works fine with included patch.


# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# databases/postgresql-repmgr
# databases/postgresql-repmgr/Makefile
# databases/postgresql-repmgr/pkg-descr
# databases/postgresql-repmgr/distinfo
# databases/postgresql-repmgr/pkg-plist
# databases/postgresql-repmgr/files
# databases/postgresql-repmgr/files/patch-repmgrd.c
#
echo c - databases/postgresql-repmgr
mkdir -p databases/postgresql-repmgr > /dev/null 2>&1
echo x - databases/postgresql-repmgr/Makefile
sed 's/^X//' >databases/postgresql-repmgr/Makefile << '48fb6f3f1b95d8369d928a104f7bd6a3'
X# New ports collection makefile for: repmgr
X# Date created: January 15, 2011
X
XPORTNAME= postgresql-repmgr
XPORTVERSION= 1.0.0
XPORTREVISION= 0
XCATEGORIES= databases
XMASTER_SITES= http://projects.2ndquadrant.it/sites/default/files/
X#MASTER_SITE_SUBDIR= sites/default/files/
XDISTNAME= repmgr-${PORTVERSION}
X
XMAINTAINER= alp@sfedu.ru
XCOMMENT= PostgreSQL repmgr
X
XBUILD_DEPENDS+= postgresql-server>=9.0:${PORTSDIR}/databases/postgresql90-server
XRUN_DEPENDS:= ${BUILD_DEPNDS}
XRUN_DEPENDS+= rsync:${PORTSDIR}/net/rsync
X
XUSE_GMAKE= yes
XMAKE_ENV= USE_PGXS=1
X
XPORTDOCS= README.*
X
Xdo-install:
X ${INSTALL_PROGRAM} ${WRKSRC}/repmgr ${PREFIX}/bin
X ${INSTALL_PROGRAM} ${WRKSRC}/repmgrd ${PREFIX}/sbin
X.if !defined(NOPORTDOCS)
X @${MKDIR} ${DOCSDIR}
X ${INSTALL_DATA} ${WRKSRC}/README.rst ${DOCSDIR}
X.endif
X.if !defined(NOPORTDATA)
X @${MKDIR} ${DATADIR}
X ${INSTALL_DATA} ${WRKSRC}/repmgr.conf ${DATADIR}
X ${INSTALL_DATA} ${WRKSRC}/repmgr.sql ${DATADIR}
X.endif
X
X.include <bsd.port.mk>
48fb6f3f1b95d8369d928a104f7bd6a3
echo x - databases/postgresql-repmgr/pkg-descr
sed 's/^X//' >databases/postgresql-repmgr/pkg-descr << '4003202a12e35bb4d428938652326a06'
XPostgreSQL replication manager (repmgr)
X
XWWW: http://projects.2ndquadrant.com/repmgr
4003202a12e35bb4d428938652326a06
echo x - databases/postgresql-repmgr/distinfo
sed 's/^X//' >databases/postgresql-repmgr/distinfo << 'e1ae01bffabbb92bb754fc0eea6621aa'
XMD5 (repmgr-1.0.0.tar.gz) = e9a90058ff2ad81de20fd8dc7b8743f0
XSHA256 (repmgr-1.0.0.tar.gz) = b0345a9a32c3f3bab542c8d2ef72881f6f45b6c0d703f481998beb5755a1d79b
XSIZE (repmgr-1.0.0.tar.gz) = 35940
e1ae01bffabbb92bb754fc0eea6621aa
echo x - databases/postgresql-repmgr/pkg-plist
sed 's/^X//' >databases/postgresql-repmgr/pkg-plist << '1ca1316c7087064a99a71f8064202df0'
Xbin/repmgr
Xsbin/repmgrd
X%%DATADIR%%/repmgr.conf
X%%DATADIR%%/repmgr.sql
1ca1316c7087064a99a71f8064202df0
echo c - databases/postgresql-repmgr/files
mkdir -p databases/postgresql-repmgr/files > /dev/null 2>&1
echo x - databases/postgresql-repmgr/files/patch-repmgrd.c
sed 's/^X//' >databases/postgresql-repmgr/files/patch-repmgrd.c << '39954438281f6f4b810cfb628d4308b3'
X--- repmgrd.c 2010-12-06 05:09:48.000000000 +0300
X+++ repmgrd.c 2011-01-16 12:34:49.345998423 +0300
X@@ -173,7 +173,12 @@
X }
X
X /* close the connection to the database and cleanup */
X- CloseConnections();
X+ if (PQisBusy(primaryConn) == 1)
X+ CancelQuery();
X+ if (myLocalConn != NULL)
X+ PQfinish(myLocalConn);
X+ if (primaryConn != NULL && myLocalMode != PRIMARY_MODE)
X+ PQfinish(primaryConn);
X
X return 0;
X }
39954438281f6f4b810cfb628d4308b3
exit


четверг, 13 января 2011 г.

Should we wait for a first stable OpenIndiana release?

I'm excited: it seems OpenIndiana developers consider 148 build stable enough to provide release based on b148-b149 (as I understood, it will be based on latest freely available code from ONNV repository with several fixes and 148-149 builds of other consolidations). Security updates may be available for several core network services (Apache, PostgreSQL and other) for a period of about 6 months.
Long life to OpenIndiana!

Next great step planned for several next builds is moving to Illumos base, which can shake stability, so, it seems, there will be no possibility to make a "stable" release for several months after this serious shift.

вторник, 11 января 2011 г.

repmgr or manage your PostgreSQL cluster easily

I've looked through Greg Smith's post about repmgr and feel quite interested. As I understood, this utility significantly simplifies PostgreSQL cluster management. I'd like to test it this week. There are a lot of questions. Will this repmgr compile on FreeBSD? How will be fail of master processed? What will happen if master goes down, e.g. due to network failure, and then is reborn while old slave is a new master? What will happen if nodes are divided in several groups? We'll see. At least, first three questions are critical...

One more thing which I'd like to see in PostgreSQL is a transparent support for HA configurations from client library. The following scenario worked in Oracle RAC. We had two "IN A" DNS records for "oracle.our.domain" pointing to our RAC nodes, and applications transparently switched from one node to another on node's failure. More supported behavior was achieved by specifying both nodes in ADDRESS_LIST and using proper FAILOVER_MODE.

понедельник, 10 января 2011 г.

This drives me nuts...

I've tired to fight with OpenOffice Bibliograhy tool. It takes about 10 minutes to find and insert one bibliographic entry. Bibliography is stored in PostgreSQL database and is rather small (about 100 records). But OO just eats one CPU for several minutes while inserting new bibliography link. Really, buggy programs can spoil your mood.

суббота, 8 января 2011 г.

One wonderful thing

It seems I'm going insane, can't stop laughing for 5 minutes... Work really helps you to keep your mind and habits. I still have a half of dissertation to look through and correct. If I don't suicide while processing it, I may be rather exhausted and happy tomorrow evening.

среда, 5 января 2011 г.

Mark Zuckerberg's interview

I'd like to share Zuckerberg's interview I've just watched... At least, it was interesting. And I was shocked that man in 26 made a great job, but I can't even clean up my life or complete damned dissertation...

суббота, 1 января 2011 г.

Blood Diamond

I've just watched "Blood Diamond"... Sometimes it seems that there are too many different worlds. Different countries, different cultures, different way of life. Some people live in the state of permanent war. Developed countries are always parasitize on developing ones. And yes, our life is shit. But there are people for whom it's much worse.