Thread: Upgrading side by side in Gentoo
I have separate production server running "PostgreSQL 8.1.4 on i686-pc-linux-gnu, compiled by GCC i686-pc-linux-gnu-gcc (GCC) 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)" and want to upgrade this to something newer. I can allow some hours of downtime for upgrade at night. I have found Gentoo upgrade instructions here http://hasno.info/2008/7/31/upgrading-to-postgresql-8-3-on-gentoo I have no idea how PostgreSql is installed in this server, maybe it is compiled from source. So I'm afraid that using those instructions may corrupt the server so it will no longer come up in morning and I'm not able to fix it due to lack of allowed downtime and knowledge. So I'm planning the following strategy: 1. Create backup copy in this 8.1.4 2. Stop postmaster 3. Install latest version of PostgreSql to separate directory 4. Restore to it from backup 5. If something fails, stop new and re-start old 8.1.4 postmaster. The difficult point for me is (3). How to install latest version in gentoo side-by side so that old version is not touched? In windows it is easy: I can select other directory from installer. How to do same thing in this Gentoo ? I need also adminpack to read log files from pgAdmin. Andrus.
*no more mesages please* Andrus escribió: > I have separate production server running > > "PostgreSQL 8.1.4 on i686-pc-linux-gnu, compiled by GCC > i686-pc-linux-gnu-gcc (GCC) 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, > pie-8.7.9)" > > and want to upgrade this to something newer. > I can allow some hours of downtime for upgrade at night. > > I have found Gentoo upgrade instructions here > http://hasno.info/2008/7/31/upgrading-to-postgresql-8-3-on-gentoo > > I have no idea how PostgreSql is installed in this server, maybe it is > compiled from source. > So I'm afraid that using those instructions may corrupt the server so > it will no longer come up in morning and I'm not able to fix it due to > lack of allowed downtime and knowledge. > > So I'm planning the following strategy: > > 1. Create backup copy in this 8.1.4 > 2. Stop postmaster > 3. Install latest version of PostgreSql to separate directory > 4. Restore to it from backup > 5. If something fails, stop new and re-start old 8.1.4 postmaster. > > The difficult point for me is (3). > How to install latest version in gentoo side-by side so that old > version is not touched? > In windows it is easy: I can select other directory from installer. > How to do same thing in this Gentoo ? I need also adminpack to read > log files from pgAdmin. > > Andrus. > Aviso Legal Este mensaje puede contener informacion de interes solo para CVG Venalum. Solo esta permitida su copia, distribuciono uso a personas autorizadas. Si recibio este corre por error, por favor destruyalo. Eventualmentew los correoselectonicos pueden ser alterados. Al respecto, CVG Venalum no se hace responsable por los errores que pudieran afectaral mensaje original.
Attachment
*can you teach me?? i don't know unsuscribe!!! please..* Raymond O'Donnell escribió: > On 12/11/2008 17:37, Adriana Alfonzo wrote: > >> *no more mesages please* >> > > You have subscribed to a mailing list, or someone has done it on your > behalf. > > If you don't want any posts from the list, please unsubscribe. > > Ray. > > ------------------------------------------------------------------ > Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland > rod@iol.ie > Galway Cathedral Recitals: http://www.galwaycathedral.org/recitals > ------------------------------------------------------------------ > > Aviso Legal Este mensaje puede contener informacion de interes solo para CVG Venalum. Solo esta permitida su copia, distribuciono uso a personas autorizadas. Si recibio este corre por error, por favor destruyalo. Eventualmentew los correoselectonicos pueden ser alterados. Al respecto, CVG Venalum no se hace responsable por los errores que pudieran afectaral mensaje original.
Attachment
----- "Adriana Alfonzo" <adriana.alfonzo@venalum.com.ve> wrote: > *can you teach me?? i don't know unsuscribe!!! please..* > > Raymond O'Donnell escribió: > > On 12/11/2008 17:37, Adriana Alfonzo wrote: > > > >> *no more mesages please* > >> > > > > You have subscribed to a mailing list, or someone has done it on > your > > behalf. > > > > If you don't want any posts from the list, please unsubscribe. > > > > Ray. > > > > ------------------------------------------------------------------ > > Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland > > rod@iol.ie > > Galway Cathedral Recitals: http://www.galwaycathedral.org/recitals > > ------------------------------------------------------------------ > > > > > > Aviso Legal Este mensaje puede contener informacion de interes solo > para CVG Venalum. Solo esta permitida su copia, distribucion o uso a > personas autorizadas. Si recibio este corre por error, por favor > destruyalo. Eventualmentew los correos electonicos pueden ser > alterados. Al respecto, CVG Venalum no se hace responsable por los > errores que pudieran afectar al mensaje original. > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Also at bottom of this message. Adrian Klaver aklaver@comcast.net
Andrus wrote: > I have separate production server running > > "PostgreSQL 8.1.4 on i686-pc-linux-gnu, compiled by GCC > i686-pc-linux-gnu-gcc (GCC) 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, > pie-8.7.9)" This is a bad idea. I run Gentoo at home on a workstation, and I like the approach it uses. But it is really targeted to the individual user who likes to be on the bleeding edge. *Everything* on Gentoo is compiled from source; that's the whole point of the distribution. This is not what you want in a production platform in a business environment. You should be looking at a distribution that has a support package (even if you elect not to use it), a minimum number of years that each version will be supported, and a predictable maintenance schedule. You have many to choose from: Redhat and its free derivatives like CentOS, Ubuntu with its supported releases, etc. To answer your question directly, you won't find a prepackaged solution to running simultaneous version of PG (or any other software package) on Gentoo. That's not how Gentoo is designed to be used. Having said that, I remember reading about slots, which may allow what you are trying to do. But I've never investigated. -- Guy Rouillier
I want to select some column(a, b) from the table with the specified condition, so, i can do like this: select a, b from mytable where id = (select id from temptable where tname = 'df' ) and stype = 'def' and range = 'afk' !!!!but, I want the result contains a sum(c) and a count value extra, so, I use the sql below: select a, b, (select count(1) from mytable where id = ( select id from temptable where tname = 'df' ) and stype = 'def' and range = 'afk' ), (select sum(c) from mytable where id = ( select id from temptable where tname = 'df' ) and stype = 'def' and range = 'afk' ) from mytable where id = ( select id from temptable where tname = 'df' ) and stype = 'def' and range = 'afk'; can someone help me to make this sql statement above more pretty and more concise?
On Wed, 12 Nov 2008, Andrus wrote: > How to install latest version in gentoo side-by side so that old version is > not touched? You need to get one of the experimental builds that include slotted support. Take a look at http://overlays.gentoo.org/proj/postgresql/wiki/ExperimentalFAQ and the page linked to by the blog article you mentioned at http://dev-zero.ch/blog/archives/6-PostgreSQL-Status.html This looks like it's still in the early stages of release, so you might have to get some suggestions from the Gentoo package maintainers if you run into problems. The fact that this problem has been lingering around for over four years (http://bugs.gentoo.org/show_bug.cgi?id=42894) and it's not completely cleaned up gives you an idea how well the PostgreSQL packages are (not) maintained on Gentoo. You really should consider just installing your own PostgreSQL from source rather than fooling with the official pacakges. I would wager it will take you less time to figure out how to do that than to fight these experimental packages into submission. -- * Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD
Yi Zhao wrote: > I want to select some column(a, b) from the table with the specified > condition, so, i can do like this: > select a, b from mytable where id = (select id from temptable where > tname = 'df' ) and stype = 'def' and range = 'afk' > How about; SELECT a, b, count(1), sum(c) FROM mytable WHERE id = (select id from temptable where tname = 'df' ) and stype = 'def' and range = 'afk' GROUP BY 1,2; Russell. > !!!!but, I want the result contains a sum(c) and a count value extra, > so, I use the sql below: > select a, b, > (select count(1) from mytable where id = > ( > select id from temptable where tname = 'df' > ) and stype = 'def' and range = 'afk' > ), > (select sum(c) from mytable where id = > ( > select id from temptable where tname = 'df' > ) and stype = 'def' and range = 'afk' > ) > from mytable where id = ( > select id from temptable where tname = 'df' > ) and stype = 'def' and range = 'afk'; > > can someone help me to make this sql statement above more pretty and more concise? > > >
thanks for ur help, but, I think that is not my want:D if you use sum like this, it must be with group by, what I want is do sum on all columns, not group by. thanks regards, 在 2008-11-13四的 19:27 +1100,Russell Smith写道: > Yi Zhao wrote: > > I want to select some column(a, b) from the table with the specified > > condition, so, i can do like this: > > select a, b from mytable where id = (select id from temptable where > > tname = 'df' ) and stype = 'def' and range = 'afk' > > > How about; > > SELECT a, b, count(1), sum(c) FROM mytable WHERE id = (select id from > temptable where > tname = 'df' ) and stype = 'def' and range = 'afk' GROUP BY 1,2; > > Russell. > > !!!!but, I want the result contains a sum(c) and a count value extra, > > so, I use the sql below: > > select a, b, > > (select count(1) from mytable where id = > > ( > > select id from temptable where tname = 'df' > > ) and stype = 'def' and range = 'afk' > > ), > > (select sum(c) from mytable where id = > > ( > > select id from temptable where tname = 'df' > > ) and stype = 'def' and range = 'afk' > > ) > > from mytable where id = ( > > select id from temptable where tname = 'df' > > ) and stype = 'def' and range = 'afk'; > > > > can someone help me to make this sql statement above more pretty and more concise? > > > > > > > >
Greg, > You need to get one of the experimental builds that include slotted > support. Take a look at > http://overlays.gentoo.org/proj/postgresql/wiki/ExperimentalFAQ and the > page linked to by the blog article you mentioned at > http://dev-zero.ch/blog/archives/6-PostgreSQL-Status.html Thank you. I have SSH root access to this system over internet only and no experiences on Linux. Person who installed this server has left the company. So I think it is not possible/reasonable to try change OS in this server. > You really should consider just installing your own PostgreSQL from source > rather than fooling with the official pacakges. I would wager it will > take you less time to figure out how to do that than to fight these > experimental packages into submission. Where to get ready binaries which can be copied and ran in Gentoo ? Is there any how-to pages or tips about compiling PostgreSql from source in this Gentoo ? Andrus.
On Wed, 12 Nov 2008 19:47:15 -0500, Guy Rouillier wrote: > To answer your question directly, you won't find a prepackaged solution to > running simultaneous version of PG (or any other software package) on > Gentoo. That's not how Gentoo is designed to be used. Having said that, You are contradicting yourself: > I remember reading about slots, which may allow what you are trying to do. > But I've never investigated. Slots are *exactly* the mechanism that enables multiple versions of the same package to be installed in parallel and it works fantastically well. However since not every package is easily slottable (such as the old and therefore unslotted postgres 8.1.x) it is not an option in Andrus' case, and also wouldn't solve the problem of upgrading the DB itself, which is purely a PostgreSQL problem on any platform. And FYI Gentoo supports binary packages just fine; in fact that's how you are supposed to install packages on larger installations. -h
On Thu, 13 Nov 2008 11:41:35 +0200, Andrus wrote: > Greg, > >> You need to get one of the experimental builds that include slotted >> support. Take a look at >> http://overlays.gentoo.org/proj/postgresql/wiki/ExperimentalFAQ and the >> page linked to by the blog article you mentioned at >> http://dev-zero.ch/blog/archives/6-PostgreSQL-Status.html > > Thank you. Please forget those pages, they are very outdated. > I have SSH root access to this system over internet only and no > experiences on Linux. If the system and/or the database are important, get someone who knows what they are doing. > Person who installed this server has left the company. So I think it is > not possible/reasonable to try change OS in this server. You don't have to do that - it would not solve anything. The main probem is the old PostgreSQL version, not the OS. > Where to get ready binaries which can be copied and ran in Gentoo ? Is > there any how-to pages or tips about compiling PostgreSql from source in > this Gentoo ? This would do more harm than good so *don't*. No matter what you do you will have to dump the DB to upgrade it from 8.1.x anyway so some downtime is unavoidable. Depending on the contents you may even have to fix some bits of the schema since 8.3 is more strict than 8.1 in some ways. This is the hard part, and it has *nothing* to do with Gentoo; upgrading your installation is the easiest part and will only take a few minutes since it is completely automated (2 or 3 commands). If you are willing to pay for professional help feel free to email me. -h
no more mesages please.. Holger Hoffstaette escribió: > On Thu, 13 Nov 2008 11:41:35 +0200, Andrus wrote: > > >> Greg, >> >> >>> You need to get one of the experimental builds that include slotted >>> support. Take a look at >>> http://overlays.gentoo.org/proj/postgresql/wiki/ExperimentalFAQ and the >>> page linked to by the blog article you mentioned at >>> http://dev-zero.ch/blog/archives/6-PostgreSQL-Status.html >>> >> Thank you. >> > > Please forget those pages, they are very outdated. > > >> I have SSH root access to this system over internet only and no >> experiences on Linux. >> > > If the system and/or the database are important, get someone who knows > what they are doing. > > >> Person who installed this server has left the company. So I think it is >> not possible/reasonable to try change OS in this server. >> > > You don't have to do that - it would not solve anything. The main probem is > the old PostgreSQL version, not the OS. > > >> Where to get ready binaries which can be copied and ran in Gentoo ? Is >> there any how-to pages or tips about compiling PostgreSql from source in >> this Gentoo ? >> > > This would do more harm than good so *don't*. > > No matter what you do you will have to dump the DB to upgrade it from > 8.1.x anyway so some downtime is unavoidable. Depending on the contents > you may even have to fix some bits of the schema since 8.3 is more strict > than 8.1 in some ways. This is the hard part, and it has *nothing* to do > with Gentoo; upgrading your installation is the easiest part and will only > take a few minutes since it is completely automated (2 or 3 commands). > > If you are willing to pay for professional help feel free to email me. > > -h > > > > Aviso Legal Este mensaje puede contener informacion de interes solo para CVG Venalum. Solo esta permitida su copia, distribuciono uso a personas autorizadas. Si recibio este corre por error, por favor destruyalo. Eventualmentew los correoselectonicos pueden ser alterados. Al respecto, CVG Venalum no se hace responsable por los errores que pudieran afectaral mensaje original.
Attachment
On Wed, 12 Nov 2008 21:33:26 -0500, Greg Smith wrote: > You need to get one of the experimental builds that include slotted > support. Take a look at > http://overlays.gentoo.org/proj/postgresql/wiki/ExperimentalFAQ and the > page linked to by the blog article you mentioned at > http://dev-zero.ch/blog/archives/6-PostgreSQL-Status.html No, don't because those page are completely outdated. Slotted 8.3.4 is in regular portage, though marked for testing (~). It works fine, and so does updating those ebuilds to the very latest 8.3.5. > This looks like it's still in the early stages of release, so you might No. > packages are (not) maintained on Gentoo. You really should consider just > installing your own PostgreSQL from source rather than fooling with the > official pacakges. I would wager it will take you less time to figure out > how to do that than to fight these experimental packages into submission. Your information is very outdated. There is exactly no reason to build stuff yourself, especially since the OP doesn't seem to know what he's doing anyway. -h
>> Where to get ready binaries which can be copied and ran in Gentoo ? Is >> there any how-to pages or tips about compiling PostgreSql from source in >> this Gentoo ? > > This would do more harm than good so *don't*. How can compiling PostgreSql 8.3.x from source on Gentoo do more harm than good ? I expect that compiling form source operates on different environment which will not touch existing working 8.1.4 server Only shared resource is listening port (5432) and I can set it to some other for testing. > No matter what you do you will have to dump the DB to upgrade it from > 8.1.x anyway so some downtime is unavoidable. Depending on the contents > you may even have to fix some bits of the schema since 8.3 is more strict > than 8.1 in some ways. This is the hard part, and it has *nothing* to do > with Gentoo; upgrading your installation is the easiest part and will only > take a few minutes since it is completely automated (2 or 3 commands). Last shop will closed at 24:00 and first is opened at 6:30 am. So there is 6.5 hours allowed downtime in every night in this server. Client applicaton which uses this server and db schema works with lot of 8.2 and 8.3 servers. So I expect that server version change will be transparent to users. Andrus.
Ok, I work at a hosting company that runs Gentoo as it's main host operating system so here's the skivvy on the current status of PostgreSQL under portage. Up until just a few months ago the needed packages were called libpq and postgresql (go figure). These were *not* slotted and so did not support having multiple versions of Postgres installed from portage simultaneously. For 8.2, 8.2, and 8.3 those packages go up to 8.1.11, 8.2.7 and 8.3.1, respectively. So, recently the Postgres package maintainer decided to remedy that situation by changing the ebuild format to a slotted format to allow (supposedly) multiple versions to be installed side-by-side, these are called postgresql-base and postgresql-server and start with 8.1.11, 8.2.10, and 8.3.4. Of course, when this change was made this created much havoc in our install scripts here at work as the two package formats are incompatible (meaning you can't both libpq/postgresql and postgresql-base/postgresql-server installed at the same time) and they even changed the names of the init scripts and /etc/conf.d/ files. In addition, the first time I had the, um, opportunity to install the slotted versions of 8.2 and 8.3 side by side it didn't work out too well. They both installed fine but I ran into problems when I needed to emerge postgis linked against 8.2: the packages install wrapper scripts for the client programs that find the latest available version on the system, including pg_config. In the end I had to completely unmerge 8.3 in order to get postgis to link against 8.2. For simple upgrades this kind of thing won't be an issue. So, Andrus, if you want to upgrade to the latest version of 8.3 using portage you're going to have to unmerge 8.1 (both libpq and postgreseql) in addition to all of the steps you've already listed which are pretty standard. Given that, if something goes wrong you'll need to include umerging 8.3 (postgresql-base and postgresql-server) and re-emerging 8.1. P.S. To whomever said that Gentoo for for single users running cutting edge software, poppycock. Any self-respecting company running Gentoo should be maintaining their own portage build servers just as a Debian based company would maintain their own build servers for apt or RedHat/CentOS for rpm/yum. Erik Jones, Database Administrator Engine Yard Support, Scalability, Reliability 866.518.9273 x 260 Location: US/Pacific IRC: mage2k
Erik Jones wrote: > P.S. To whomever said that Gentoo for for single users running cutting > edge software, poppycock. That was me. Andrus said in a former post on this thread: >> I have ... no experiences on Linux. I stand by my assertion that his company should not be running Gentoo in a production environment. I have quite a bit of experience in Gentoo and other distros, and for Andrus's situation, I continue to recommend a binary distro with committed multi-year support. -- Guy Rouillier
On Thu, Nov 13, 2008 at 11:31:51AM -0800, Erik Jones wrote: > P.S. To whomever said that Gentoo for for single users running > cutting edge software, poppycock. I'm a fellow ex-Gentoo user; moved to Debian and things are much easier. > Any self-respecting company running > Gentoo should be maintaining their own portage build servers just as a > Debian based company would maintain their own build servers for apt or > RedHat/CentOS for rpm/yum. That all sounds awfully complicated for small setups to be organizing! I can't imagine many organizations go to that trouble; or have I just just had the luck of having my head in the sand for too long? I'd maybe expect the more technically proficient hosting companies will do this, or is this more a symptom of rpm awkwardness whereas I'm used to apt? I haven't used RedHat for a while but I do remember getting into dependency hell far too often whereas apt just tends to work. Sam