Closed
Bug 297475
Opened 20 years ago
Closed 19 years ago
Add docs about how to install and configure Bugzilla using PostgreSQL
Categories
(Bugzilla :: Documentation, defect)
Tracking
()
RESOLVED
FIXED
Bugzilla 2.20
People
(Reporter: LpSolit, Assigned: cso)
Details
(Whiteboard: [wanted for 2.20])
Attachments
(2 files, 4 obsolete files)
|
1.58 KB,
text/plain
|
Details | |
|
16.13 KB,
patch
|
mkanat
:
review+
|
Details | Diff | Splinter Review |
I installed the PostgreSQL RPM packages (server and client) as well as perl-Pg. But now, I have no idea what to do!! (don't tell me this is not the right place to get support!!! :-p ) Colin pointed me to bug 98304 comment 133. Great! Here is was I read: "The steps for setting up a Bugzilla installation on PostgreSQL are very simple: [this is mkanat's humor!] (0) Connect to the template1 database in PostgreSQL as a PostgreSQL superuser. (That's usually the "postgres" user.) [...]" Great, and how do I connect to the DB?? I mean, with which program? I tried 'psql' and 'pg_ctl' unsuccessfully. If it's really 'psql', what arguments should I pass to the program?? mkanat, you are the only one among us to know Pg pretty well. Could you *please* take a few minutes to write a (small) docs section about "How to install and configure Bugzilla using PostgreSQL"? I'm sure Colin would be happy to help you if you are not familiar on how to write docs. And this way, I could then test my patches myself without asking you everytime if I can write such or such SQL request. See, by writing this docs section now, you will save much more time later, because I won't bother you that much anymore. :-p
| Reporter | ||
Updated•20 years ago
|
Whiteboard: [wanted for 2.20]
Target Milestone: --- → Bugzilla 2.20
Comment 1•20 years ago
|
||
Yes, I was definitely planning to do this before the release of 2.20. Probably after 2.20rc1, but before the final release.
Assignee: documentation → mkanat
Flags: blocking2.20?
Comment 2•19 years ago
|
||
OK, here's basically what needs to be done. Now this just needs to be turned into docbook, and perhaps polished up a bit.
Updated•19 years ago
|
Assignee: mkanat → documentation
| Assignee | ||
Comment 3•19 years ago
|
||
Max's attachment converted to Docbook. Note that this patch is generated with -w to ensure that only changes not including the re-indentation of the MySQL section are included.
| Assignee | ||
Updated•19 years ago
|
Attachment #188923 -
Flags: review?(mkanat)
| Reporter | ||
Comment 4•19 years ago
|
||
Comment on attachment 188923 [details] [diff] [review] Docbook Patch v1 >+ <para>After editing the <filename>pg_hba.conf</filename>, you will also need >+ to edit <filename>postgresql.conf</filename>, also usually found in the >+ <filename>/var/lib/pgsql/data/</filename> folder. In this file, you will need >+ to make a single line change, changing</para> >+ <computeroutput># tcpip_socket = false</computeroutput> >+ <para>to</para> >+ <computeroutput>tcpip_socket = true</computeroutput> Adding "tcpip_socket = true" into /var/lib/pgsql/data/postgresql.conf makes postgresql to stop running. Without this line, this service starts as expected. Even without this line added, I get the following error when runnning checksetup.pl: Checking for DBD::Pg (v1.31) ok: found v1.40 Checking for PostgreSQL (v7.03.0000) ok: found v08.00.1000 Creating database bugs_pg ... The 'bugs_pg' database could not be created. The error returned was: ERREUR: droit refusé pour créer une base de données (translation: access rights denied to create a database)
Attachment #188923 -
Flags: review-
Comment 5•19 years ago
|
||
(In reply to comment #4) > Adding "tcpip_socket = true" into /var/lib/pgsql/data/postgresql.conf makes > postgresql to stop running. Without this line, this service starts as > expected. Maybe Pg 8 does it differently. These instructions are for Pg 7. > ERREUR: droit refusé pour créer une base de données (translation: access > rights denied to create a database) That either means that you didn't follow the "createuser" instructions correctly, or createuser works differently in Pg 8 (which I've never used).
Comment 6•19 years ago
|
||
(In reply to comment #5) > > Maybe Pg 8 does it differently. These instructions are for Pg 7. From the Pg 8 Release Notes: "Server configuration parameters virtual_host and tcpip_socket have been replaced with a more general parameter listen_addresses. Also, the server now listens on localhost by default, which eliminates the need for the -i postmaster switch in many scenarios." http://traduc.postgresqlfr.org/pgsql-8.0.3-fr/release-8-0.html
Comment 7•19 years ago
|
||
(In reply to comment #6) > Also, the server now > listens on localhost by default, which eliminates the need for the -i postmaster > switch in many scenarios." > http://traduc.postgresqlfr.org/pgsql-8.0.3-fr/release-8-0.html Ahh, thank you, Emmanuel! So the whole step about "tcpip_socket" is only for Pg 7.
| Assignee | ||
Comment 8•19 years ago
|
||
Emmanuel, Is that the only difference between Max's instructions for Pg 7.3 and Pg 8?
Comment 9•19 years ago
|
||
(In reply to comment #8) > > Is that the only difference between Max's instructions for Pg 7.3 and Pg 8? Yup. With Pg 8, Step 5 in mkanat's explanations is no longer necessary.
| Reporter | ||
Comment 10•19 years ago
|
||
I tried again, using slightly different command lines for the user and DB
creation, and here is what I get now:
Checking for DBD::Pg (v1.31) ok: found v1.40
Checking for PostgreSQL (v7.03.0000) ok: found v08.00.1000
Adding new table bz_schema ...
Initializing the new Schema storage...
DBD::Pg::st execute failed: ERREUR: La colonne «version» est de type numeric
mais l'expression est de type character varying
ASTUCE : Vous devez réécrire l'expression ou lui appliquer une transformation de
type.
[for Statement "INSERT INTO bz_schema (schema_data, version) VALUES (?,?)"
with ParamValues: 2='1.00', 1='...1234.....'] at Bugzilla/DB.pm line 808
Bugzilla::DB::_bz_init_schema_storage('Bugzilla::DB::Pg=HASH(0x8f04a34)') called
at Bugzilla/DB.pm line 323
Bugzilla::DB::bz_setup_database('Bugzilla::DB::Pg=HASH(0x8f04a34)')
called at Bugzilla/DB/Pg.pm line 209
Bugzilla::DB::Pg::bz_setup_database('Bugzilla::DB::Pg=HASH(0x8f04a34)')
called at ./checksetup.pl line 1585
| Assignee | ||
Comment 11•19 years ago
|
||
v2 with changes as above.
Attachment #188923 -
Attachment is obsolete: true
Attachment #189318 -
Flags: review?(mkanat)
| Reporter | ||
Updated•19 years ago
|
Attachment #188923 -
Flags: review?(mkanat)
| Reporter | ||
Comment 13•19 years ago
|
||
Comment on attachment 189318 [details] [diff] [review] Docbook Patch v2 >> <screen> <prompt>bash$</prompt> createuser -P bugs</screen> To have my installation working, I needed to write: createuser -h localhost -d -A -P bugs The -d and -A options are only here to avoid to answer the questions later (why not including them if these options are the same for both Pg 7 and 8 ?). But the important part is '-h localhost' which was required for my installation to work correctly. Maybe should we add a note in case other users have the same problem as me. Moreover, we should definitely mention that perl-DBD-Pg 1.41 or higher is required when using PostgreSQL 8.0.1 or higher. perl-DBD-Pg 1.40 definitely doesn't work.
Attachment #189318 -
Flags: review?(mkanat) → review-
Comment 14•19 years ago
|
||
Instead of the createuser instructions, we should just give people this SQL, which I'm fairly sure works on all versions of Pg: CREATE USER bugs PASSWORD 'mypassword' CREATEDB; They can run that if they connect as the "postgres" user to the "template1" database. Usually you can do that by doing "su - postgres" as root, and then doing: psql template1
Updated•19 years ago
|
Whiteboard: [wanted for 2.20] → [bug awaiting patch] [wanted for 2.20]
| Reporter | ||
Comment 15•19 years ago
|
||
(In reply to comment #14) > Instead of the createuser instructions, we should just give people this SQL, > which I'm fairly sure works on all versions of Pg: > > CREATE USER bugs PASSWORD 'mypassword' CREATEDB; Please no! It's even worse. You have to 1) connect to template1 as postgres and then use psql and 2) write this instruction, and assuming there is any problem at this level, the user cannot do anything. Please keep the createuser instruction. It's much easier... believe me! ;)
| Assignee | ||
Comment 16•19 years ago
|
||
I agree with not doing the SQL statements, incidently.
Assignee: documentation → colin.ogilvie
Attachment #189318 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #190766 -
Flags: review?(LpSolit)
| Reporter | ||
Comment 17•19 years ago
|
||
Comment on attachment 190766 [details] [diff] [review] Patch v3 > </para> >+ <section id="database-engine"> >+ <title>Database Server</title> >+ >+ <para>This section deals with configuring your database server for use >+ with Bugzilla. Currently <xref linkend="mysql"/> and >+ <xref linkend="postgresql"/> are available.</para> > </section> > I'm a bit confused: you add a <section>, but there is no corresponding </section> ?? Or is this one intentionally added at the end of the patch? >+ <para>You need to add a new user to PostgreSQL for the Bugzilla >+ application to use to access the database. The following instructions to use to access ??? >+ assume the defaults in <filename>localconfig</filename>; if you >+ changed those, you need to modify the commands appropriately.You will appropriately.You will <-- missing space. >+ <para>After editing the <filename>pg_hba.conf</filename>, you may also need >+ to edit <filename>postgresql.conf</filename>, also usually found in the >+ <filename>/var/lib/pgsql/data/</filename> folder. <emphasis role="bold">This >+ file should only be edited if you are using versions of PostgreSQL before >+ version 8.</emphasis> If this is the case, you will need to make a single >+ line change, changing</para> Why not: "<para>If you are using <emphasis role="bold">versions of PostgreSQL before version 8</emphasis>, you may also need to edit postgresql.conf, also usually found in the /var/lib/pgsql/data/ folder. You will need to make a single line change, changing</para>" All these are minor points. The description itself looks good to me.
Attachment #190766 -
Flags: review?(LpSolit) → review-
| Assignee | ||
Comment 18•19 years ago
|
||
Note this patch probably has a bit of whitespace change in it - output HTML is at http://landfill.mozilla.org/csodocs/html/configuration.html (In reply to comment #17) > (From update of attachment 190766 [details] [diff] [review] [edit]) > > </para> > >+ <section id="database-engine"> > >+ <title>Database Server</title> > >+ > >+ <para>This section deals with configuring your database server for use > >+ with Bugzilla. Currently <xref linkend="mysql"/> and > >+ <xref linkend="postgresql"/> are available.</para> > > </section> > > > I'm a bit confused: you add a <section>, but there is no corresponding > </section> ?? Or is this one intentionally added at the end of the patch? I think that was late night coding... for some reason the XML was still valid though. > >+ <para>You need to add a new user to PostgreSQL for the Bugzilla > >+ application to use to access the database. The following instructions > > to use to access ??? Makes sense to me, but reworded any way. > >+ assume the defaults in <filename>localconfig</filename>; if you > >+ changed those, you need to modify the commands appropriately.You will > > appropriately.You will <-- missing space. Fixed > >+ <para>After editing the <filename>pg_hba.conf</filename>, you may also need > >+ to edit <filename>postgresql.conf</filename>, also usually found in the > >+ <filename>/var/lib/pgsql/data/</filename> folder. <emphasis role="bold">This > >+ file should only be edited if you are using versions of PostgreSQL before > >+ version 8.</emphasis> If this is the case, you will need to make a single > >+ line change, changing</para> > > Why not: > "<para>If you are using <emphasis role="bold">versions of PostgreSQL before > version 8</emphasis>, you may also need to edit postgresql.conf, also usually > found in the /var/lib/pgsql/data/ folder. You will need to make a single line > change, changing</para>" Changed
| Assignee | ||
Updated•19 years ago
|
Attachment #190766 -
Attachment is obsolete: true
Attachment #190862 -
Flags: review?(LpSolit)
Comment 19•19 years ago
|
||
Comment on attachment 190862 [details] [diff] [review] Patch v4 >+ <para>On most systems, to create the user in PostgreSQL, you will need to >+ login as the root user, and then</para> >+ >+ <screen> <prompt>bash#</prompt> su - postgres</screen> >+ >+ <para>As the postgres user, you then need to create a new user: </para> >+ >+ <screen> <prompt>bash$</prompt> createuser -h localhost -P bugs</screen> No, that won't work. You told it to use a TCP/IP connection, before PostgreSQL is even accepting TCP/IP connections. :-) And as far as I know, most postgresql installations aren't configured to allow users to *log in* (pg_hba.conf) through TCP/IP before you actually configure that.
Attachment #190862 -
Flags: review-
Comment 20•19 years ago
|
||
The correct createuser command line is: createuser -U postgres -dAP bugs That should work on almost every Pg installation.
Comment 21•19 years ago
|
||
It might be worth noting that it's possible to, as the postgres user, create a 'bugs' user that doesn't have the rights to create a database and create an empty database with the option '--owner bugs'. This avoids giving db-creating right to the 'bugs' user.
Comment 22•19 years ago
|
||
(In reply to comment #21) > This avoids giving db-creating right to the 'bugs' user. Yes, but that won't work with how checksetup works. It's simplest just to give the user CREATEDB.
Comment 23•19 years ago
|
||
(In reply to comment #22) > > Yes, but that won't work with how checksetup works. It doesn't? That's how I created the database I'm using now.
Comment 24•19 years ago
|
||
(In reply to comment #23) > It doesn't? > That's how I created the database I'm using now. Yeah, what you did is fine. I didn't fully explain this. Imagine that one day we need to actually add options to the CREATE DATABASE statement, or that we need to do something fancy inside of the area where the database is created, in checksetup.pl. In that case, we need checksetup.pl to create the database. Also, having checksetup.pl create the database is much easier than asking the user to do it with createdb. However, a createdb --owner=bugs is fine, at the moment, yes.
| Assignee | ||
Comment 25•19 years ago
|
||
So what should the docs say? Should it mention the createdb thing or just give the command Max gave?
Comment 26•19 years ago
|
||
Yeah, don't mention the createdb thing just now. Just use the createuser command that I gave.
| Assignee | ||
Comment 27•19 years ago
|
||
Attachment #190862 -
Attachment is obsolete: true
Attachment #191125 -
Flags: review?(mkanat)
Comment 28•19 years ago
|
||
Comment on attachment 191125 [details] [diff] [review] Patch v5 Yep, those look correct! The language "setting it to be" in the last step is a bit awkward. Otherwise, that all looks quite nice, and should work on both Pg7 and Pg 8.
Attachment #191125 -
Flags: review?(mkanat) → review+
| Assignee | ||
Comment 29•19 years ago
|
||
2.20: Checking in docs/xml/installation.xml; /cvsroot/mozilla/webtools/bugzilla/docs/xml/installation.xml,v <-- installation.xml new revision: 1.98.2.4; previous revision: 1.98.2.3 done Trunk: Checking in docs/xml/installation.xml; /cvsroot/mozilla/webtools/bugzilla/docs/xml/installation.xml,v <-- installation.xml new revision: 1.102; previous revision: 1.101 done
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
| Reporter | ||
Updated•19 years ago
|
Attachment #190862 -
Flags: review?(LpSolit)
| Reporter | ||
Updated•19 years ago
|
Whiteboard: [bug awaiting patch] [wanted for 2.20] → [wanted for 2.20]
You need to log in
before you can comment on or make changes to this bug.
Description
•