11,750 reputation
1130
bio website blog.ringerc.id.au
location Western Australia, Australia
age
visits member for 2 years, 3 months
seen 2 hours ago

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.


2h
comment Having trouble configuring phpPgAdmin with PostgreSQL 9.3 on CentOS 6
Well, that seems pretty clear. There's no pg_hba.conf entry for host 10.242.2.6 (the host you're connecting from, presumably, or the ssh tunnel endpoint?) for the user/database combo "postgres".
15h
comment How to log DML statements executed by a pl/pgsql function?
PostgreSQL doesn't have built-in support for logging all DML run within functions. It'd be useful to have for a narrow subset of cases, but nobody's implemented it yet. The new pgaudit extension (in development for 9.5, may be usable with 9.4 too) should add this facility.
1d
comment How does MS SQL Server authenticate MSDTC connections when using SSPI?
Even if it's an OLE/COM interface between the MS SQL Server process and MSDTC.exe, it has to be authenticated in some way - right? Otherwise any other process running as NETWORKSERVICE (alongside MSDTC.exe) could access the same interface and abort transactions.
1d
comment How does MS SQL Server authenticate MSDTC connections when using SSPI?
Interesting, though I was aware of the way it supported both native MSDTC APIs and XA. Doesn't really address the question of how MS-SQL securely gives MSDTC the ability to rollback/commit transactions without giving everything else running as NETWORKSERVICE access to the database too, though.
1d
comment Postgresql service frozen and can restart properly
@JuanCarlosOropeza A SELECT pg_reload_conf() or pg_ctl reload is sufficient.
1d
revised How does MS SQL Server authenticate MSDTC connections when using SSPI?
added 61 characters in body
2d
comment Does amazon rds PostgreSQL require vacuum?
Run SHOW autovacuum;. Or enable autovacuum logging and check the logs. RDS certainly does require vacuum, but I'd be surprised if it wasn't doing pretty aggressive autovacuuming.
2d
asked How does MS SQL Server authenticate MSDTC connections when using SSPI?
2d
comment How to design a versioned database with PostgreSQL?
One schema per version. search_path. Old versions redefined as views over the new version - simply updatable if possible, otherwise DO INSTEAD triggers.
2d
comment Postgresql service frozen and can restart properly
Odd issue. Can you enable checkpoint logging please? log_checkpoint = on. Personally I'd attach a debugger to the "orphan" backends to see what they were doing and what type of backend they are, but that's probably not within your comfort zone unless you've done a bit of development work. In case it is: wiki.postgresql.org/wiki/…
2d
revised Postgresql service frozen and can restart properly
added 98 characters in body
Jul
8
comment Postgresql startup: runuser: cannot set groups: operation not permitted
runuser? What platform are you on?
Jul
8
comment Starting up postgres on Ubuntu for the first time
This post is a clone of stackoverflow.com/q/24630528/398670 . Rather than copying and pasting a post please flag it and ask a moderator to move it. Or delete the old one. You didn't know, so I'm not complaining, it's just for future reference.
Jul
7
comment Investigating rollbacks in Postgres
Probably have to set log_statement = 'all' and a suitable log_line_prefix. But lots of rollbacks aren't necessarily a problem. Some frameworks ROLLBACK read-only transactions by default. It's generally harmless.
Jul
7
comment Pgpool - semanage config files - which filetype should I choose?
"tolds me that choosen one is wrong". The error message being?
Jul
7
comment How to configure read transactions to never cause other write serialization transactions to fail
@Gracchus Oh, and PostgreSQL has no shortage of warts and ugly bits. But yeah, overall it works rather nicely.
Jul
7
comment How to configure read transactions to never cause other write serialization transactions to fail
@Gracchus Blocking on what? If you mean waiting on a lock, then no, that's fine in a SERIALIZABLE tx, though it isn't clear why it's relevant from the question. However, with locking (in SERIALIZABLE or READ COMMITTED transactions) it is vital that you ensure you take both table and row level locks in the same order for all transactions, or you risk deadlocks causing transaction aborts. See the documentation. A well designed application solves this by not caring and just re-trying the transaction.
Jul
7
answered How to configure read transactions to never cause other write serialization transactions to fail
Jul
6
comment PostgreSQL: how do I query over a column with a custom range?
Use an enum, sounds like an ideal candidate.
Jul
5
awarded  Announcer