16,220 reputation
11338
bio website blog.ringerc.id.au
location Western Australia, Australia
age
visits member for 2 years, 10 months
seen Jan 24 at 9:18

I'm a PostgreSQL admin/developer, sysadmin, multi-language programmer (lately mostly Java and Java EE, previously C, C++, Python and good old bash) and general IT JOAT.

I work for 2nd Quadrant, a global PostgreSQL consultancy.

I maintain a technical blog at blog.ringerc.id.au. My PostgreSQL writing now appears on the 2nd quadrant blog.

I'll work in most programming languages with varying degrees of competence, though I'll only reluctantly touch PHP or Perl code. I'm more interested in the libraries, tools, and the code that's built on top of the language.

Most of my scrap code lives on https://github.com/ringerc . Most of my open source code is in the form of scattered patches across too many different bugzillas and JIRAs, rather than single new projects. Over time I've done a lot of work on Scribus and PoDoFo, but have moved away from both projects as my focus and interests changed. I contribute patches - rather infrequently - to PostgreSQL and to various Java EE 6 infrastructure components. Most of my contribution is now non-code, in the form of:

  • Detailed bug reporting with test cases, which I spend an unpleasant proportion of my development time preparing and submitting, mostly against JBoss and java.net projects.
  • User support for PostgreSQL on mailing lists and here on SE
  • PostgreSQL patch review and beta testing
  • Usability review of Java EE libs/tools, as well as usability review of PostgreSQL and its tools
  • Writing, editing and enhancing documentation, HOWTOs, etc
  • Blogging in detail on topics likely to be useful to others.

I've turned into a git fiend and no longer understand why anybody uses anything else. I'm also becoming increasingly obsessive about testing, particularly with the advent of Jenkins CI and Arquillian.


Jan
23
comment PostgreSQL Performance - Many Large Databases
Use pg_stat_statements, see if you can identify slow or high load queries. Profile the system - perf is useful. Check for possible table/index bloat, ensure autovacuum is running enough .(BTW, there were some significant scalability improvements in PostgreSQL 9.4).
Jan
23
comment PostgreSQL Performance - Many Large Databases
Eep. fsync = off. Can you recreate your data from other sources at any time? If not, do you have synchronous replication to a secondary server and regular backups via WAL archiving? Do you understand that you have disabled crash safety and that your database will be severely corrupted if the server loses power or suddenly reboots?
Jan
23
comment Replication Strategy for Multi-Office Database
I'm on the team for BDR, a logical streaming replication based multi-master replication system for PostgreSQL. You might want to take a look, as it's intended for exactly this sort of use case. See 2ndquadrant.com/BDR . It's under heavy development but has significant production users already. We're progressively merging it into PostgreSQL core; see blog.2ndquadrant.com/bdr-postgresql-present-future
Jan
22
comment Why won't pg_basebackup output go to log?
cron overrides the PATH. It's a different envirionment and has nothing to do with what user is running. Please read "man cron" for more information.
Jan
22
answered Lower() vs ilike on postgresql
Jan
22
comment NOT IN statement or what to use in this case?
@ReynierPM NOT IN (1, 2, NULL) does not do what you might expect it to, which is a well known problem. You should generally have a WHERE fps_id IS NOT NULL constraint on the inner query if you're using NOT IN with a subquery. See mailing list discussion, Google, etc for many relevant examples and discussions.
Jan
22
comment NOT IN statement or what to use in this case?
This is a left-anti-join. You can do it with a DELETE ... FROM too, with a self-join.
Jan
22
comment NOT IN statement or what to use in this case?
Remember to consider NULL.
Jan
22
comment Getting around the constraint “column must appear in the GROUP BY clause or be used in an aggregate function”
Haven't really read the question, but this sort of thing often turns out to be people looking for DISTINCT ON.
Jan
21
comment Problem installing postgres 9.4 on Windows R2
Please also mention this issue on forums.enterprisedb.com/forums/show/9.page . If you do so make sure to put a link to this question in your post there and also put a link to your post into an edit on your Stack Overflow question.
Jan
21
comment Problem installing postgres 9.4 on Windows R2
Debugging this will likely require access to your server or to an equivalently configured server that exhibits the same behaviour, since it will be necessary to get a crash dump of the failing process using a debugger like Microsoft Visual Studio, preferably using a debug build of PostgreSQL.
Jan
21
comment Problem installing postgres 9.4 on Windows R2
Ok, so initdb exited unexpectedly with error 0xC000001D. Looking that up in the relevant Microsoft documentation that's an STATUS_ILLEGAL_INSTRUCTION error. This indicates an unexpected program error which could be caused by hardware/memory issues, a bug in the program, or incompatibility with libraries on the system. The latter two are more likely if this happens consistently in repeat runs.
Jan
21
comment Problem installing postgres 9.4 on Windows R2
"Windows Server R2". You mean "Windows Server 2008 R2"?
Jan
20
comment Why won't pg_basebackup output go to log?
Look at your cron logs. Is pg_basebackup on the PATH? is ts?
Jan
20
comment Get WAL files from AWS RDS PostgreSQL instance
Please add a link to the related question too, then. That'd be useful anyway.
Jan
20
comment Is there any free, usable PostgreSQL formatter on Windows?
Yeah... I pretty much just use a text editor with some whitespace coding style rules. The best code formatter is pretty much always a text editor and your hands, I've never seen one (even for popular languages lke C and Java) that doesn't mangle some code and require manual fixups.
Jan
20
revised Get WAL files from AWS RDS PostgreSQL instance
added 58 characters in body
Jan
20
revised Get WAL files from AWS RDS PostgreSQL instance
added 705 characters in body
Jan
20
comment Get WAL files from AWS RDS PostgreSQL instance
That's handy - but is not the same thing as being talked about here. They are adding support for the ues of trigger-based logical replication like Bucardo and Londiste with RDS. This does not add support for "physical" log-based streaming as is used by hot standby, pg_basebackup, etc. The've made the best choice they can, as security concerns prevent them from really supporting physical replication.
Jan
18
answered Pre-existing shared memory block (key 5432001, ID 32768) is still in use