| From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> | 
|---|---|
| To: | Blake McBride <blake1024(at)gmail(dot)com>, Rob Sargent <robjsargent(at)gmail(dot)com> | 
| Cc: | pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: Generating an XSD file from an existing database | 
| Date: | 2015-12-06 22:46:18 | 
| Message-ID: | 5664BABA.3010600@aklaver.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
On 12/06/2015 01:59 PM, Blake McBride wrote:
> On Sun, Dec 6, 2015 at 3:47 PM, Rob Sargent <robjsargent(at)gmail(dot)com
> <mailto:robjsargent(at)gmail(dot)com>> wrote:
>
>
>      > On Dec 6, 2015, at 2:30 PM, Blake McBride <blake1024(at)gmail(dot)com
>     <mailto:blake1024(at)gmail(dot)com>> wrote:
>      >
>      > Greetings,
>      >
>      > I need an XML specification for my exiting schema - an XSD file.
>     Reading the docs I see schema_to_xml but I do not understand:
>      >
>      > A.  Will that produce the XSD file I seek?
>      >
>      > B.  I do not understand the documentation.  Can I do this through
>     psql?  I need an exact example if possible.
>      >
>      > Thank you.
>      >
>      > Blake McBride
>      >
>     Yes, those functions are available through psql
>     select schema_to_xml(<arglist>)
>     and
>     select schema_to_xmlschema(<arglist>) are what you’re after.
>
>     Redirect the output  of each into separate files.
>
>
> Thanks.  My problem is understanding the arguments.  I am hoping to get
> an exact example.
>
> Server:  localhost
> Database:  wmco
> Schema:  public
>
> Once I am in psql, exactly what do I type?  (I just don't understand the
> docs.)
<WARNING> Will produce a big file. On a relatively small database the 
below created a 5.6 G file <WARNING>
\o schema_file.xml
select schema_to_xml('public', 't', 't', 'text');
\o
Explanation of above:
\o redirects further commands to the file specified.
Run xml function
\o resets output to stdout
If you want to use the table form, then:
\o cell_per.xml
select table_to_xml('cell_per'::regclass, 't',  't', 'text');
\o
>
> Thank you!
>
> Blake
>
-- 
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jim Nasby | 2015-12-07 00:18:24 | Re: Table with invalid page blocks | 
| Previous Message | Blake McBride | 2015-12-06 21:59:25 | Re: Generating an XSD file from an existing database |