Re: UUID generation problem - Mailing list pgsql-general
From | Adrian Klaver |
---|---|
Subject | Re: UUID generation problem |
Date | |
Msg-id | 70f1b155-42bf-9c66-27d2-a391842f335f@aklaver.com Whole thread Raw |
In response to | Re: UUID generation problem ("James B. Byrne" <byrnejb@harte-lyne.ca>) |
Responses |
Re: UUID generation problem
|
List | pgsql-general |
On 10/5/20 9:31 AM, James B. Byrne wrote: > > > On Mon, October 5, 2020 11:52, Adrian Klaver wrote: > >> That is the natural order of events. The database has to exist before >> you can add an extension to it. Unless you are saying that you did not >> build the extension until after the database was created. >> > > That is the meaning that I meant to convey. The a rough outline of the sequent > of events respecting this was: > > Install postgreqsl > > Initialise database > > su - postgres -c 'createuser -S -d -r -l -P adempiere' > > Run install script which creates the application database. > > The install script(s) required a number of iterations and some modifications to > get working on FreeBSD. > > su idempiere -c" psql -d idempiere -U adempiere -c 'CREATE EXTENSION "uuid-ossp"' FYI, you don't need to change to a system user to use that username in the psql connection. As long as you specify -U some_name you can connect from the terminal of any system user and have the connection be from the -U some_name. > > At some point I decided to switch the name of the user owning the application > database from adempiere to idempiere-dbadmin. Probably this was done to align > the user names with our internal conventions. A decision which I strongly > suspect is at the root of this problem. > > Following this decision I went through the entire modified install scripts > again, this time using the new username(s). > However, I did discover this: > > 2000 2020-09-11 16:15:17: psql -d idempiere -U adempiere -c 'CREATE EXTENSION > "uuid-ossp"' > > 2001 2020-09-11 16:17:08: su idempiere -c" psql -d idempiere -U adempiere -c > 'CREATE EXTENSION "uuid-ossp" The thing is, from upstream: idempiere=# \df+ uuid_generate_v4 List of functions Schema | Name | Result data type | Argument data types | Type | Volatility | Parallel | Owner | Security | Access privileges | Language | Source code | Description --------+------------------+------------------+---------------------+------+------------+----------+----------+----------+-------------------+----------+------------------+------------- public | uuid_generate_v4 | uuid | | func | volatile | safe | postgres | invoker | | c | uuid_generate_v4 | (1 row) This indicates that you created the extension as user 'postgres'. > > I can only conjecture that I got confused at this point in the process and used > the admpiere username artifact from the initial install attempts instead of the > idempiere-admin username subsequently employed. > > I realise that I am providing this information in a rather disjointed manner. > However the number of modifications and restarts I had to perform to get the > software to install rather confuses my memory and the history logs do not add > much in the way of clarity. > > What I need to know now is how to correct this error. It would depend on whether the database is live or not. If it is still in dev stage I would say start over with install, using the new found knowledge. Otherwise it will depend on the answers to the questions downstream. Will answer there. > > -- Adrian Klaver adrian.klaver@aklaver.com
pgsql-general by date: