Обсуждение: Multiline privileges in \z
Hi hackers, It occurred to me that psql's \z command could benefit from the addition of some newlines. With any more than one grantee per object, the output of \z rapidly becomes extremely wide, and very hard to read. I'd like to split the output onto one line per grantee. So, instead of this: Schema | Name | Type | Access privileges --------+------+-------+------------------------------------------------------------------------- public | a | table | {brendanjurd=arwdxt/brendanjurd,foo=arwd/brendanjurd,bar=r/brendanjurd} public | b | table | {brendanjurd=arwdxt/brendanjurd,foo=arwd/brendanjurd} (2 rows) You would get this: Schema | Name | Type | Access privileges --------+------+-------+-------------------------------- public | a | table | brendanjurd=arwdxt/brendanjurd : foo=arwd/brendanjurd : bar=r/brendanjurd public | b | table | brendanjurd=arwdxt/brendanjurd : foo=arwd/brendanjurd (2 rows) Because the -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ACLs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: http://getfiregpg.org iD8DBQFIB3kL5YBsbHkuyV0RAgWQAJ9bcl3bOFozvi9LxRAQN1OwT3t+QgCcCGVq dcMw3wIBQVPv1nYDBCSRpDA= =s1eD -----END PGP SIGNATURE----- are stored as an array, the patch to achieve this is trivial (see attached). Looking forward to your comments. Added to wiki. Cheers, BJ
Вложения
"Brendan Jurd" <direvus@gmail.com> writes: > It occurred to me that psql's \z command could benefit from the > addition of some newlines. With any more than one grantee per object, > the output of \z rapidly becomes extremely wide, and very hard to > read. Seems like a good idea now that psql deals nicely with multiline output. The function names in the patch need schema-qualification in case pg_catalog is not first in the search path. regards, tom lane
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Fri, Apr 18, 2008 at 2:37 AM, Tom Lane wrote: > The function names in the patch need schema-qualification in case > pg_catalog is not first in the search path. > Ah, yes. I should have seen that. Thanks Tom. New version attached with schema-qualification. Cheers, BJ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: http://getfiregpg.org iD8DBQFIB4Ae5YBsbHkuyV0RAqJVAJ9+h6wZrLT9YFRw3s2E742sg7Yr4wCgvtcq xK7cTnbiGtfpGGYw5WP4asI= =hf8W -----END PGP SIGNATURE-----
Вложения
Brendan Jurd wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Fri, Apr 18, 2008 at 2:37 AM, Tom Lane wrote: > >> The function names in the patch need schema-qualification in case >> pg_catalog is not first in the search path. >> >> > > Ah, yes. I should have seen that. Thanks Tom. > > New version attached with schema-qualification. > Wouldn't this expression: pg_catalog.array_to_string(c.relacl, chr(10)) be better expressed as pg_catalog.array_to_string(c.relacl, E'\n') ? Quoted inside a C literal, the backslash would have to be doubled, of course. cheers andrew
Andrew Dunstan <andrew@dunslane.net> writes: > Wouldn't this expression: > pg_catalog.array_to_string(c.relacl, chr(10)) > be better expressed as > pg_catalog.array_to_string(c.relacl, E'\n') +1 ... it's minor, but knowing that ASCII LF is 10 is probably not wired into too many people's brains anymore. (Besides, some of us remember it as octal 12, anyway...) regards, tom lane
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sun, May 4, 2008 at 10:55 AM, Tom Lane wrote: > Andrew Dunstan writes: > > Wouldn't this expression: > > pg_catalog.array_to_string(c.relacl, chr(10)) > > be better expressed as > > pg_catalog.array_to_string(c.relacl, E'\n') > > +1 ... it's minor, but knowing that ASCII LF is 10 is probably not > wired into too many people's brains anymore. (Besides, some of us > remember it as octal 12, anyway...) > Fair enough. I just wanted a non-messy way of saying "1 newline, please", and I wasn't too sure whether backslash escapes were considered kosher for internal queries. But you're right, readability is important. No objections to using the escape syntax. Please note that I used chr(10) in my \du attributes patch as well. Cheers, BJ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: http://getfiregpg.org iD8DBQFIHjNA5YBsbHkuyV0RAuNSAJ0ZDLxhHaPj4CBsBCILnxHy+5Jf5ACfQHMH 4XZxczc+YEow3AFdayn9fGs= =+TSV -----END PGP SIGNATURE-----
Brendan Jurd wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Fri, Apr 18, 2008 at 2:37 AM, Tom Lane wrote: > >> The function names in the patch need schema-qualification in case >> pg_catalog is not first in the search path. >> >> > > Ah, yes. I should have seen that. Thanks Tom. > > New version attached with schema-qualification. > > > Committed with slight editorialization and a consequent docs change. cheers andrew