Search Postgresql Archives

Re: pg_dump of only the structure from a client such as ruby

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Aug 5, 2007, at 6:07 PM, Michael Glaesemann wrote:


On Aug 5, 2007, at 16:31 , Perry Smith wrote:

I'm trying to help out the rails people. Currently they have "rake" scripts which call pg_dump, dropdb, createdb, and psql. It would be nicer if this could be done via a database connection.

Why would this be nicer? What's the advantage? pg_dump in particular *is* a client application. It isn't called from within another connection. As loading a schema from a file via psql, that's also fairly common practice. Alternatives to createdb or dropdb are just as easily handled by passing a command to psql using its -c flag. Another point to consider is that using CREATE/ DROP DATABASE instead of the createdb/dropdb client applications requires a database connection: if you don't have a database to connect to, you can't use them. Of course, you could initially connect to the postgres database (or template1 in older version), but that could require configuring parameters for another database in database.yml. What's the advantage?

Connecting to the postgres database is pretty trivial. If you want to create foo_development, you use all config stanza for development replace the database name with "postgres" (or "template1"). If you want to dump foo_development, it better be there! :-)

I just submitted a patch to do create_database and drop_database to the postgresql adapter. I wanted to complete the other two missing pieces.

The rake code for postgesql in this area is uglier than the mysql code. I mostly just wanted to clean it up. And, one problem I have is, often, pg_dump is not in my path.

I find it odd that you are resistant to the idea. To me, the advantages are clear if it can be done without a tremendous amount of work. Why horse around with the environment variables to set such things as password, call sh, just to call pg_dump.

Perry Smith ( pedz@xxxxxxxxxxxxxxxx )
Ease Software, Inc. ( http://www.easesoftware.com )

Low cost SATA Disk Systems for IBMs p5, pSeries, and RS/6000 AIX systems



---------------------------(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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux