On Thu, Mar 30, 2006 at 10:43:31AM -0500, Andrew Dunstan wrote:
> A.M. wrote:
> >Could postgres offer at least a read-only view of the data in the
> >interim?  Ordering could be controlled by line number.
> 
> You can get the contents as a single text field like this:
> 
> |  select pg_read_file|('pg_hba.conf', 0, 50*1024);
> 
> Writing a plperl function that would strip comments and blank lines
> and return the rest as a numbered set of lines would be fairly
> trivial.

You don't even need PL/Perl :)

SELECT * FROM (
    SELECT
        s.t AS "Ordering",
        (string_to_array(pg_read_file(
            'pg_hba.conf',
            0,
            (pg_stat_file('pg_hba.conf')).size
        ), '\n'))[s.t] AS "Line"
    FROM
        generate_series(
            1,
            array_upper(
                string_to_array(pg_read_file(
                    'pg_hba.conf',
                    0,
                    (pg_stat_file('pg_hba.conf')).size
                ), '\n'),
                1
            )
        ) AS s(t)
) AS foo
WHERE
    "Line" !~ '^#'
AND
    "Line" !~ '^\s*$'
;

Cheers,
D
-- 
David Fetter <[EMAIL PROTECTED]> http://fetter.org/
phone: +1 415 235 3778        AIM: dfetter666
                              Skype: davidfetter

Remember to vote!

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to