Thread: Syntax Help Requested

Syntax Help Requested

From
Rich Shepard
Date:
   I'm working with the XRMS Contact Management System developers to get the
application working with postgres as well as the original MySQL. My role is
trying what they've produced and reporting errors.

   The application runs on a httpd server (apache-1.3.34 here) with any
browser; similar to SQL-Ledger, but xrms is written in php rather than perl.

   I've not yet been able to get last Friday's CVS version to install properly
after I dropped the old database and created a new one. I'm still missing
something on the proper syntax to grant priviledges to these tables to the
application. I'd appreciate some help translating from mysql to postgres
here.

   Following are what the INSTALL file provides for MySQL, and what I've done
in postgresql-8.1.2.

mysql:

Create a MySQL database to hold the XRMS tables, and pick a valid MySQL
account for XRMS to use.

Example:
    from a mysql prompt
    create database xrms;
    grant all privileges on xrms.* to xrms@localhost identified by
'yourpasswordhere';

postgres (from my user account):

createdb contacts
createuser xrms     # This creates the ROLE xrms
grant all on contacts to xrms; # This generates an error at 'to'.

   When I request a list of databases (psql -l), the one named contacts is
there. However, when I open the database (psql contacts), there's no one
home; that is, 'psql -d' returns 'no relations found.'

   I need a clue on how to let user 'xrms' access the database 'contacts' so
the install script runs correctly.

TIA,

Rich

--
Richard B. Shepard, Ph.D.             |  Quantifying subjectivity for the
Applied Ecosystem Services, Inc.(TM)  |  benefit of business and society.
<http://www.appl-ecosys.com>     Voice: 503-667-4517      Fax: 503-667-8863

Re: Syntax Help Requested

From
Tom Lane
Date:
Rich Shepard <rshepard@appl-ecosys.com> writes:
> postgres (from my user account):

> createdb contacts
> createuser xrms     # This creates the ROLE xrms
> grant all on contacts to xrms; # This generates an error at 'to'.

That last is a SQL command, not a shell command, and anyway it would
default to assuming you were trying to grant privileges on a table
named "contacts" not a database named contacts.

What you probably really should do is

    createuser xrms
    createdb --owner=xrms contacts

and go from there.

>    When I request a list of databases (psql -l), the one named contacts is
> there. However, when I open the database (psql contacts), there's no one
> home; that is, 'psql -d' returns 'no relations found.'

You didn't show us any attempt to create anything in contacts ...

>    I need a clue on how to let user 'xrms' access the database 'contacts' so
> the install script runs correctly.

What exactly happens when you try to run the script?  With the default
setup it shouldn't really matter whether xrms is the owner of the
contacts database or not.

            regards, tom lane

Re: Syntax Help Requested

From
"Joshua D. Drake"
Date:
>    When I request a list of databases (psql -l), the one named contacts is
> there. However, when I open the database (psql contacts), there's no one
> home; that is, 'psql -d' returns 'no relations found.'
>
>    I need a clue on how to let user 'xrms' access the database 'contacts' so
> the install script runs correctly.

You can't grant all on multiple objects. You have to grant on each
object explicitly.

Joshua D. Drake



>
> TIA,
>
> Rich
>
--

            === The PostgreSQL Company: Command Prompt, Inc. ===
      Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
      Providing the most comprehensive  PostgreSQL solutions since 1997
                     http://www.commandprompt.com/





Re: Syntax Help Requested

From
Rich Shepard
Date:
On Mon, 17 Apr 2006, Tom Lane wrote:

> That last is a SQL command, not a shell command, and anyway it would
> default to assuming you were trying to grant privileges on a table named
> "contacts" not a database named contacts.

Tom,

   I should have been clearer, that I was logged in to psql when I issued the
latter command.

   An off-list suggestion to use the syntax shown in psql's '\h grant' seems
to have worked:
              grant all priviledges on database contacts to xrms;
returned no errors.

> You didn't show us any attempt to create anything in contacts ...

   The install script does this.

> What exactly happens when you try to run the script?

   I get a bunch of error messages. I've passed those on to the xrms
developers.

> With the default setup it shouldn't really matter whether xrms is the owner
> of the contacts database or not.

   I didn't think so.

Thanks,

Rich

--
Richard B. Shepard, Ph.D.             |  Quantifying subjectivity for the
Applied Ecosystem Services, Inc.(TM)  |  benefit of business and society.
<http://www.appl-ecosys.com>     Voice: 503-667-4517      Fax: 503-667-8863

Re: Syntax Help Requested -- RESOLVED

From
Rich Shepard
Date:
On Mon, 17 Apr 2006, Tom Lane wrote:

> You didn't show us any attempt to create anything in contacts ...

   To tie off the end of this thread, the application scripts have mixed case
names as well as no primary key values in some tables. The developers can now
see exactly what changes are necessary to get it fully functional with
postgres, and will do so as their time permits.

Rich

--
Richard B. Shepard, Ph.D.             |  Quantifying subjectivity for the
Applied Ecosystem Services, Inc.(TM)  |  benefit of business and society.
<http://www.appl-ecosys.com>     Voice: 503-667-4517      Fax: 503-667-8863