Re: [GENERAL] Debian and Postgres
On 5/4/16, rob stone wrote: > On Wed, 2016-05-04 at 14:51 -0700, Adrian Klaver wrote: >> I ask because this looks somewhat similar to this thread: >> >> http://www.postgresql.org/message-id/CAM3xazWDA6asEDDYHcKF_5oSFP4SZj8 >> taVHwSF68wM=vmy7...@mail.gmail.com >> >> where the solution: >> >> http://www.postgresql.org/message-id/CAM3xazWDA6asEDDYHcKF_5oSFP4SZj8 >> taVHwSF68wM=vmy7...@mail.gmail.com >> >> was: >> >> "That was indeed the root cause. The /etc/hosts file on the server >> had >> incorrect permissions which caused localhost to not resolve." > > /etc/hosts has a file date of Dec 19 2014. > > Everything worked fine yesterday. Absolutely nothing has been altered > except some packages have been removed and none of the log files can > give me a clue as to which ones. For reference Debian (and I assume Ubuntu) has a little package called etckeeper - I find it very handy in such situations. -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] request for comment re "contributor-covenant.org"
Hi Josh, I simply wrote in first person with the intention to catalyse thought about what could and or should and or should not be in such a "covenant". In no way was the email any statement of authority and I had hoped to make that clear, evidently not. Evidently it was not clear enough despite my disclaimer at the top. My sincere apologies for the confusion - such confusion was seriously not wanted by me and I apologise unreservedly. On the topic, I feel it will take a few years yet for "the libre software community" to come to anything approaching a consensus regarding "community covenant"; just my opinion of course. Regards, Zenaan On 1/26/16, Josh Berkus wrote: > Mr. Harkness, > > First, the discussion you reference is now materially over. > > Second, you are not an administrator of this, or any other PostgreSQL > mailing list of which I am aware. As such, you are in no position to > dictate what is, or is not, acceptable on this list and will get someone > "banned"; only our Infra Team can do that. Please do not presume to do > so for them. > > -- > Josh Berkus > Red Hat OSAS > (opinions are my own) -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
[GENERAL] request for comment re "contributor-covenant.org"
Warning, some people may consider the following analysis to have one or two trigger words and or to be insensitive. DO NOT read it if you are emotionally sensitive or otherwise challenged in regards to robust communications and the rights of amateur humans to create social spaces of their choosing. In principle, the concept of a "contributor covenant" sounds sensible, but my version of such a covenant would clearly be quite different to the one at http://contributor-covenant.org and the below is a very rough second draft (after having run it past a few friends off list) attempt at a response to that website's front page. Such a "covenant" worthy of the name would need a lot more work which I have not done. Also, I feel that it is important that certain things so far unsaid regarding c-c.org, ought be raised for discussion, although my version of raising discussion is unfortunately most likely to be controversial, so in general, unless you wish to pick the eyes and distill what I am struggling to say, don't read the below as it will likely be too much work for you - if there's the slightest chance you might take offense, this email is not for you. Since the contributor-covenant.org got referenced, and I seem to remember reading allegedly 1000's of "open source projects" have "adopted" it, and there appears to quite the campaign to "encourage" the PostgreSQL project to likewise adopt that particular agreement, I figured it was time to read it and see what all the fuss is about. Those who chaperone more than one "open source" project mailing lists may wish to bring themselves up to speed with this so-called "covenant" before the steamroller hits your group/ list/ community, since it seems inevitable at this point. The below is my second woeful attempt (the first being private off list) to bring some sanity to the "covenant" discussion. It needs your improvements. I have put ">>" to readily distinguish text coming from c-c.org Good luck, Zenaan http://contributor-covenant.org/ >> Contributor Covenant >> A Code of Conduct for Open Source Projects. Sounds reasonable. >> Open Source has always been a foundation of the Internet, and with the advent >> of social open source networks this is more true than ever. Let's hope free libre and open source software - FLOSS, stays as the foundation of the Internet! "social open source networks" - what?? Facebook social network?? Use of new terminology, without explaining that terminology, and presuming it is known and well understood terminology, in a document you are pushing as a new and additional "social contract" which others are pressed upon to adopt and enforce, is IMHO passive aggressive. >> But free, libre, and open source projects suffer from a startling lack of >> diversity, with dramatically low participation by women, people of color, and >> other marginalized populations. Those who have an interest in promoting, assisting, sponsoring and generally facilitating "the diversity" within this particular libre software project or mailing list, are welcome to do so and in general, ought be supported to the extent that their actions and words are neither actively nor passively aggressive towards any member of this mailing list, and are actually supportive of the technical goals of this project. >> Part of this problem Lack of diversity may be viewed as a problem. Such a viewpoint is a personal, individual matter. Your personal, individual opinion on this matter may be discussed, but in general is off topic for this mailing list. Speaking or writing that "lack of diversity is a problem", and even moreso, building the presumption into the words of a so-called "social covenant", where that presumption is almost hidden and "not up for debate", is a passive aggressive approach to communication with others who may or may not disagree with this position. Passive aggressive communication is not welcome on this mailing list. >> lies with the very structure of some projects: What is "the very structure of a project"? This phrase is too generic, and not explained, despite the next part of that sentence which follows below, which appears to pretend to answer (or define) the phrase - it does not. Phrases and terminologies used out of context and having indefinite and vague meanings, is a sign of passive aggressive communication and all members of this mailing list are encourage to ridicule such communication. >> the use of insensitive language, thoughtless use of pronouns, assumptions of >> gender, and even sexualized or culturally insensitive names. Although certain social niceties are encouraged on this mailing list, they are not required and indeed firm, clear and precise languaging is valued and encouraged. If you are overly sensitive, or in need (or desire) of an emotionally sensitive environment, then consider another mailing list - this mailing list is likely not for you, and if you are in need of any professional help, you are enco
Re: [GENERAL] advocating LTS release and feature-train release cycles
On 6/2/15, Jan de Visser wrote: > On June 1, 2015 11:11:37 PM Arthur Silva wrote: >> In my opinion a twice a year schedule would be good. >> The LTS would be every 2 or 4 releases. Keeping 2 LTS versions supported >> at >> all moments. >> >> Maybe this should be reposted to the hackers list? > > Pretty sure this would be shot down pretty quick. At this point it seems > more > likely to me that the time between releases will be longer rather than > shorter. Really, that sounds like an excellent way to test such an alternative - if pg development went to what every other major libre project does, we would not have a proper comparison of the outcome for the alternative (lengthening the release cycle, rather than shortening). I know how I think it'll pan out - but personal opions matter little here, only what the dev's choose. Whatever the outcome, this will be a great experiment in the long run, providing a data point we would be quite unlikely to have otherwise! Regards, Zenaan -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
[GENERAL] advocating LTS release and feature-train release cycles
My comments advocating a (ubuntu/debian/linux-kernel/firefox) LTS release and feature-train release cycle: https://lwn.net/Articles/646740/ https://lwn.net/Articles/646743/ The parent article "PostgreSQL: the good, the bad, and the ugly": https://lwn.net/Articles/645020/ My summary (from one of my comments above): "For PostgreSQL may be: - normal release every 3 or 4 months - LTS release every 12, 18 or 24 months This model provides: - higher frequency normal releases to a) showcase new features to the public and b) reduce pressure on developers wanting to not miss an "infrequent annual" release; and - lower frequency LTS releases to a) focus testing, stability and long term support resources b) satisfy "conservative/ enterprise" RDBMS admins " Regards, Zenaan -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Why isn't Java support part of Postgresql core?
On 9/15/14, Chris Travers wrote: > On Sun, Sep 14, 2014 at 10:22 PM, cowwoc wrote: >> Out of curiosity, why is Postgresql's Java support so poor? I am >> specifically looking for the ability to write triggers in Java. > > Because it hasn't been a priority of contributors. This is how > non-single-vendor open source projects work: people decide what is > important to them and do the work required. If something gets neglected > then I guess it wasn't really important. >> What's going on? Why isn't this a core language supported alongside SQL, >> Perl and Python as part of the core project? > > I have a few questions on this, the answers of which may help answer your > question: > > 1. How well does having a server-side JVM work, resource-wise, when you > have a forked process model like PostgreSQL? Does having the additional > JVM's pose performance and competition for resources that lighter languages > would not? So eliminate JVM startup overhead by running (one or more instances of) JVM as a daemon, using nailgun : http://en.wikipedia.org/wiki/Java_performance#Startup_time http://martiansoftware.com/nailgun/ For low overhead (trigger) scripts, JVM startup overhead means order of magnitude(s) slow down - so nailgun means a massive speedup. Nailgun does not have multi-user security separation. Although if this is for a corporate project, adding such security with "Unix domain sockets" ought be very straightforward (cite is only a private email discussion I had with nailgun's author some years ago, where we concluded this should not be difficult to implement per se). > 2. What is your specific use case for a trigger in Java? Excellent question. Good luck, Zenaan -- Banned for life from Debian, for suggesting Debian's CoC (Code of Conduct) is being swung in our faces a little too vigorously. -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Disk Encryption in Production
On 3/26/14, Carlos Espejo wrote: > Anybody running their PostgreSQL server from a ecryptfs container? What are > the common production setups out there? What are the drawbacks that people > have experienced with their solution? I ran a couple web servers off Full Disk Encryption (FDE) installs, and I don't recommend that - if the host or VM needs restarting, you need a side-channel login (which could possibly be an expensive on-site admin call depending on your contract) to get past the kernel's "please enter disk password" prompt, which I find very not-enjoyable. Running an encrypted filesystem of some sort after normal bootup means that, at the least, you ought be able to SSH in to fix up any misconfigurations or enter encrypted volume passwords etc. I have not use ecryptfs, but it looks like a newer version of encfs or at least similar in design. I used to use encfs a few years ago, but it has known security limitations and is no longer advised for applications requiring genuine security. I cannot speak to ecryptfs. I note in the Debian package description/manifest for encfs it says "Encrypted data is stored within the native file system, thus no fixed-size loopback image is required." Certainly ecryptfs appears to share this (from a utility perspective advantageous trait, that is, the lack of requirement for a fixed size loopback file, but in addition, the ability to transfer individual files from one filesystem to another (perhaps for backup purposes). I would add to that list a distinct likelihood that the 'encrypted' files are perhaps more amenable to incremental backup, whereas an encrypted loopback filesystem-in-a-file may be harder to achieve incremental backups with - though by no means impossible - it's just different, and depends on whose doing your backups, who you want to have keys etc. HOWEVER1: there is usually the limitation with per-file encryption systems, that certain metadata of the files being encrypted is visible (not encrypted) - for example, the file name, access perms, ownership, fair estimate of file size, and quite probably other things like ACLs (if you use those). Each of these may or may not be of concern to you or to your particular threat models. HOWEVER2: when creating certain encrypted loopback containers, it is almost trivial to create a sparse file for your 'encrypted container' (in my experience - dd does the job nicely thank you very much), and to then set that up as a loopback encrypted device (use your standard procedure here), and finally just format your crypted container (with chosen filesystem) in your chosen filesystem's "quick format" mode (ie, effectively sparse). Truecrypt (not libre by Debian's standards) used to provide such a 'sparse' type mode. It is still possible (at least on GNU/Linux) to manually use truecrypt (or fully libre tcplay) at the command line to achieve this with 'truecrypt' volumes. But sparse containers have their own security issues too. There are tradeoffs no matter what you do - convenience, speed, security and more. You will need to do some substantial reading/research if you have genuine threat/need for encrypted data store. Conclusion: there are pros and cons all around - you DO have a threat model don't you? :) Good luck, Zenaan -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Regarding template1 database
On 4/24/13, S H wrote: > I am working on some legacy product. In which template1 vacuuming with > Analyze is executed through cron job every one hour and some times it is > taking lot of time.I want to know if there is any major update/insert in > template1 at some time, so i wanted to monitor the number of insertions and > deletions done in template1. Sounds like you have used "template1" as your live database. OK, so from your point of view, template1 IS your database. In that case, perhaps google for "postgresql transaction monitoring" or similar. Others might be able to give you better advice/links. Good luck, Zenaan -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
[GENERAL] cloning postgres-xc
Does somone know the object overlap likely between pg and pgxc repositories? I ask because I could just git clone pgxc, or I could add a remote for pgxc to my pg git clone, and make sure the branches are added, and fetch that remote. And in this way, common files/ objects are properly shared in one repo, rather than duplicated. Thoughts? TIA Zenaan -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Procedural Languages
Found key info here: http://wiki.tada.se/index.php?title=The_choice_of_JNI Rgds Zenaan On 6/8/12, Zenaan Harkness wrote: > Will someone please point me to a URL re PG's Java backend cost.. been > googling but no joy so far.. > > I'd like find out how often the JVM starts up eg based on queries or > sessions or connections or what... didn't know it was potentially > woeful. In particular re "Because Pg doesn't re-use backends, there's > a huge amount of JVM startup and shutdown cost." > > TIA > Zenaan > -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Procedural Languages
Will someone please point me to a URL re PG's Java backend cost.. been googling but no joy so far.. I'd like find out how often the JVM starts up eg based on queries or sessions or connections or what... didn't know it was potentially woeful. In particular re "Because Pg doesn't re-use backends, there's a huge amount of JVM startup and shutdown cost." TIA Zenaan -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
[GENERAL] Lotus Approach like "find" function (ie CTRL-F) in some libre forms client?
I am charged with migrating a Lotus Approach db + forms. Approach (97 I think :) has this function where, when viewing a record or within a form (or in the spreadsheet view for that matter) one can press CTRL-F, for "find records". The form I am on becomes a blank form (all fields cleared, but all fields for that form still present on the form) and I can enter text into any field, with wildcards. Primarily * to represent zero or more characters is what we use. We are just learning PG, as our Approach replacement. Is there a libre db forms client which we can use to get this same functionality? If not, as a last resort backup plan, can anyone recommend a proprietary db forms client which can achieve this functionality? Just to be clear on how Approach works: The "select" that occurs when pressing ENTER is an AND of each field's select criteria. This allows us to do a more specific search of records, by entering (if we know it) a small portion of extra data (eg part of a phone number), or a more general search (enter less of the name field for example, perhaps I just misspelt it and that's why I got no search results, so I just shorten the name to the part that I know must be spelt right, adding wildcards where appropriate. For example if searching for a Susan Macaby, and I don't know if she has a middle name or not, and I'm not sure on the spelling of her last name, I might search for "Susan*Ma*b*" (without the quotes) which will be pretty well guaranted to bring up her record. But where I know more information I put it, with less or no wildcards, to cause a faster search to occur. TIA Zenaan -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] replacing Access/ Approach etc
On Sat, Sep 08, 2007 at 09:45:21AM -0500, Scott Marlowe wrote: > On 9/8/07, Zenaan Harkness <[EMAIL PROTECTED]> wrote: > > A lack of a sense of control is simply one more barrier to potential > > switchers. Make sense? > > But by starting postgresql under an administrative account, the user > would, in effect, be giving up that control to PostgreSQL to simply do > as it pleased with the machine. > > The real problem here is the common perception in Windows user's minds > that running as an admin account is acceptable. It's not. It's > dangerous. If your friend was following the basic tenant of not > running as an admin all the time, there would be no problem. He, and > many other windows users, have a bad habit to unlearn. Making > PostgreSQL part of the problem is not the solution. I agree. And my recommendation for _next_ time he reinstalls his windows/ sets up his machine, will be to arrange to live in a non-privileged account. I don't know when that will be. In the meantimem, is there any option to allow pg to run in a privileged account on windows? Thanks again for the feedback, it is appreciated, Zen ---(end of broadcast)--- TIP 5: don't forget to increase your free space map settings
Re: [GENERAL] replacing Access/ Approach etc
On Sat, Sep 08, 2007 at 09:52:04AM +0200, Thomas Kellerer wrote: > Zenaan Harkness wrote on 08.09.2007 07:03: > >Hi, a friend of mine on Windows, is attempting to convert to using > >PostgreSQL (and of course, I'm helping him). > > > >The installation gave an option to run as an application, rather than as > >a service. > > > >Turns out, my friends login account has Admin privs, and postgres.exe > >will not run in an account with admin privs. > > > >He wants to keep the "lightweight feel" and frankly I'd like that on my > >Ubuntu box as well - to just fire up a local instance of postgresql > >pointing at a particular "data" directory, and listing (on loopback/ > >localhost only) on an instance-specific port (point the exe at a local > >.conf file). > > When I started using Postgres for more than just testing, I had the same > feeling, but frankly the overhead of starting a PostgreSQL service is so > small, that I now happily auto-start the service at boot time (Windows XP). > You won't even notice that it's running (from a performance point of view). Thanks. I'm confident of this. There is a hurdle of mindset to overcome though. When DB2 only starts as a service, and I can say "look here, postgres will start as an app, and you can very simply target a specific instance at a specific directory", this makes the 'sell' a lot easier. My job as advocate, and administrator for new software installation, and trainer for the new software, is all-up not as simple as I was hoping. Of course, once I've solved the problem on windows once, forever and a day it should be much easier thereafter. The other psychological aspects are a sense of control (copy the postgres startup batch file, change the destination 'data' directory to the new location, give it a new port number and voila, new instance of the application), as well as a sense of safety and simplicity ("this instance relates to this directory, I don't have to go configuring stuff inside the database for my new test instance location, so I won't be clobbering data in the non-test location"). These psychological and control aspects should not be underestimated, I say. > >Is it useful goal to consider running multiple instances of pg, ala > >microsoft access, lotus approach, etc? > > So my recommendation would be: do install it as a service (any OS), and > create multiple databases. Once done that you don't need to worry about > starting or stopping the thing. It's simply available. I'd think that > starting Access has more overhead than having a PG server sitting in the > background (doing nothing) I don't doubt this. We're dealing with perception however. It is satisfying to have absolute control, over location, port number, etc, from a source (config/batch files) outside the database executable. Especially when you want to quickly copy a whole development tree to run some tests (new table layouts, a read-write database which testers can use which is not the deployment database). The feel of control one gets by being able to do all this with cp + a quick config file edit, is empowering to the user. A lack of a sense of control is simply one more barrier to potential switchers. Make sense? Thanks heaps Zen -- Homepage: www.SoulSound.net -- Free Australia: www.UPMART.org Please respect the confidentiality of this email as sensibly warranted. ---(end of broadcast)--- TIP 2: Don't 'kill -9' the postmaster
Re: [GENERAL] replacing Access/ Approach etc
On Sat, Sep 08, 2007 at 08:49:28AM +0100, Dave Page wrote: > > From: Zenaan Harkness <[EMAIL PROTECTED]> > > > > > > > > > > Is there a way to achieve this, on windows? > > > > > Yes, 8.2 will start under a admin > > account just fine. > Is there some special command line switch? You see, I got an error about being not supposed to run it in an admin account? How do I bypass the error? TIA Zen -- Homepage: www.SoulSound.net -- Free Australia: www.UPMART.org Please respect the confidentiality of this email as sensibly warranted. ---(end of broadcast)--- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
Re: [GENERAL] replacing Access/ Approach etc
On Sat, Sep 08, 2007 at 08:26:04AM +0100, Richard Huxton wrote: > Zenaan Harkness wrote: > >Hi, a friend of mine on Windows, is attempting to convert to using > >PostgreSQL (and of course, I'm helping him). > > > >The installation gave an option to run as an application, rather than as > >a service. > > > >Turns out, my friends login account has Admin privs, and postgres.exe > >will not run in an account with admin privs. > > Correct. Won't run as root on *nix either. > > >He wants to keep the "lightweight feel" and frankly I'd like that on my > >Ubuntu box as well - to just fire up a local instance of postgresql > >pointing at a particular "data" directory, and listing (on loopback/ > >localhost only) on an instance-specific port (point the exe at a local > >.conf file). > > > >Why is this not so intuitive/ easy to set up? > > Apart from the windows-admin issue, what problems have you had? He has many applications, lots of files (thousands - 10 years of work!), and many customizations, on his primary account, which is an admin account. Is the only option to have to swap between users in order to run postgresql as an application on windows? If so, can this all be scripted in a batch file, ie. swapping user then running postgres.exe? I think I had a problem of not being able to get postgres.exe to load the .conf file which I was editing, even with a command line parameter. Unfortunately I don't have a windows box here and my friend's now in another city. I'll have to get VMWare or something happening I guess... the problem may simply have been getting postgres to run in his account, the "Administrator" account ... > >Is it useful goal to consider running multiple instances of pg, ala > >microsoft access, lotus approach, etc? > > Most of the developers do. I do too. Usually different versions in > different directories and on different ports. Nothing to stop you having > multiple copies of the same version though. > > Since ubuntu is debian-based, apt should help you do all this. If you've > got postgresql-common installed try "man pg_wrapper" as a start point. Beautiful! That's exactly what I needed. > >Install as service has a "feel" of heavywieght. I (and my friend) want > >to have per-project local data directories, with all db meta data etc > >all local to that directory and project. This way, a simple backup of > >the entire project can be made (pg data, documentation, web site files, > >etc, etc). Does this make sense? > > PostgreSQL *is* heavier than MS-Access. What you want to do should work > fine though. Remember to stop PG before taking your backups though. Not fussed with it actually being heavier weight. It's lighter than DB2 default install, and if I can just get it to run as an application, all will be well. > >Is there a way to achieve this, on windows? > >Is there a way to achieve this, on gnu/linux? > > What problems have you had? Seems to consistently bomb out on Windows. I think this is just due to admin privs. I tried many and varied combinations, and even sequences, of command line parameters. Turns out at least one of the parameters is position dependent, or must be last or something... Thanks again Zen -- Homepage: www.SoulSound.net -- Free Australia: www.UPMART.org Please respect the confidentiality of this email as sensibly warranted. ---(end of broadcast)--- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
[GENERAL] replacing Access/ Approach etc
Hi, a friend of mine on Windows, is attempting to convert to using PostgreSQL (and of course, I'm helping him). The installation gave an option to run as an application, rather than as a service. Turns out, my friends login account has Admin privs, and postgres.exe will not run in an account with admin privs. He wants to keep the "lightweight feel" and frankly I'd like that on my Ubuntu box as well - to just fire up a local instance of postgresql pointing at a particular "data" directory, and listing (on loopback/ localhost only) on an instance-specific port (point the exe at a local .conf file). Why is this not so intuitive/ easy to set up? Is it useful goal to consider running multiple instances of pg, ala microsoft access, lotus approach, etc? Install as service has a "feel" of heavywieght. I (and my friend) want to have per-project local data directories, with all db meta data etc all local to that directory and project. This way, a simple backup of the entire project can be made (pg data, documentation, web site files, etc, etc). Does this make sense? Is there a way to achieve this, on windows? Is there a way to achieve this, on gnu/linux? Thanks in advance Zenaan -- Homepage: www.SoulSound.net -- Free Australia: www.UPMART.org Please respect the confidentiality of this email as sensibly warranted. ---(end of broadcast)--- TIP 2: Don't 'kill -9' the postmaster