This article is written as my experience as a PostgreSQL contractor and to
all those that that think
they might want to be one.

It all began about 4 years ago when, oddly enough, I retired. Shortly after
I moved to my new,
and final home ( I hope), I began recieving calls from headhunters wanting
to place me in companies
that required me to relocate. Having had to relocate 4 times in 8 years due
to a bad job market,
I was in no mood to due it again, so I politely informed them I was not
interested and hung up
the phone. That  was until I recieved a call that advised me I only had to
be on site for two
days and then I could work remotely from home. I was asked what my hourly
rate would be and I
just threw something out there, not expecting them to be ok with it, but
they were. So I took
the job (and trip) and was impressed with the company and personnel I was
working with. The
database was well designed and I was given a laptop to connect from my home
with. I was given
the task of testing new auxillary software for PostgreSQL and writing bash
scripts to insure
backups and restores were being done and were reliable. That position
lasted 6 months and I left
with a feeling of having completed a job well done. However, my next
contract was a nightmare.
The database was poorly designed. Instead of a simple scaled database, each
customer was given
their own schema, with a copy of each table in it. What was really bad was
they had put an index
on every column of every table, only a few of which were actually used in
queries. I begged them
to let me drop the unused indexes so they could save space and optimize
inserts, updates & deletes, but they refused because "they had higher
priorities".
Now, my latest commitment is somewhat better, but not without it's own
annoyances. Primarily,
despite my repeated attempts to convince them otherwise, the developers at
that site seem to feel
it is essential to constantly issue queries of "SELECT 1;", so that they do
not lose the connection
to the database. That of course, has resulted at times in no connection
being available for other
users/developers. Let alone the fact that developers should not be allowed
on production systems.
I have advised them they are much better off using a connection manager
like PgBouncer, but they apparently do not understand the concept or
benefit. In summary, I can only advise that aspiring contractors find out
as much about a system/schema/policies before commiting to a contract, no
matter how much they offer to pay.

-- 
*Melvin Davidson*
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.

Reply via email to