Thread: Unable to run psql on 9.5 after broken 12 remove

Unable to run psql on 9.5 after broken 12 remove

From
Moreno Andreo
Date:
I have a production server running pg9.5 seamlessly.
Yesterday I decided to install libpq to have some crypto functions. 
Unexpectedly, it installed postgresql 12 and its libpq.
I don't need pg 12, so I decided to remove it.
It did not went well

root@datastore-1:/home/user# apt-get --purge remove postgresql-client-12
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
   libuuid-perl
Use 'apt-get autoremove' to remove it.
The following packages will be REMOVED:
   postgresql-12* postgresql-client-12* postgresql-contrib*
0 upgraded, 0 newly installed, 3 to remove and 89 not upgraded.
1 not fully installed or removed.
After this operation, 30.9 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 32065 files and directories currently installed.)
Removing postgresql-contrib (12+215.pgdg80+1) ...
Removing postgresql-12 (12.3-1.pgdg80+1) ...
update-alternatives: using 
/usr/share/postgresql/9.5/man/man1/postmaster.1.gz to provide 
/usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
Purging configuration files for postgresql-12 (12.3-1.pgdg80+1) ...
Removing postgresql-client-12 (12.3-1.pgdg80+1) ...
update-alternatives: using /usr/share/postgresql/9.5/man/man1/psql.1.gz 
to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
Processing triggers for postgresql-common (215.pgdg80+1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:
Setting up python3.4 (3.4.2-1+deb8u3) ...
   File "/usr/lib/python3.4/http/client.py", line 1014
     raise InvalidURL(f"URL can't contain control characters. {url!r} "
^
SyntaxError: invalid syntax
dpkg: error processing package python3.4 (--configure):
  subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
  python3.4
E: Sub-process /usr/bin/dpkg returned an error code (1)

After this, the package is not anymore on the installed list and I'm not 
able to issue the psql command:

root@datastore-1:/home/user# sudo -u postgres psql
Error: PostgreSQL version 12 is not installed

How can I repair this?
Thanks in advance
Moreno.




Re: Unable to run psql on 9.5 after broken 12 remove

From
Moreno Andreo
Date:
After upgrading python the InvalidUrl is gone, but I still can't run psql

Output of pg_lsclusters, if needed
root@datastore-1:/usr/share/postgresql-common# pg_lsclusters
Ver Cluster Port Status                Owner     Data 
directory               Log file
9.5 main    6543 online                postgres 
/var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
12  main    5432 down,binaries_missing <unknown> 
/var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log

I followed
https://askubuntu.com/questions/1223270/psql-command-error-postgresql-version-12-is-not-installed
with no luck, apt-purge simply states that pg12 is not installed.


Il 03/07/2020 10:37, Moreno Andreo ha scritto:
> I have a production server running pg9.5 seamlessly.
> Yesterday I decided to install libpq to have some crypto functions. 
> Unexpectedly, it installed postgresql 12 and its libpq.
> I don't need pg 12, so I decided to remove it.
> It did not went well
>
> root@datastore-1:/home/user# apt-get --purge remove postgresql-client-12
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following package was automatically installed and is no longer 
> required:
>   libuuid-perl
> Use 'apt-get autoremove' to remove it.
> The following packages will be REMOVED:
>   postgresql-12* postgresql-client-12* postgresql-contrib*
> 0 upgraded, 0 newly installed, 3 to remove and 89 not upgraded.
> 1 not fully installed or removed.
> After this operation, 30.9 MB disk space will be freed.
> Do you want to continue? [Y/n] y
> (Reading database ... 32065 files and directories currently installed.)
> Removing postgresql-contrib (12+215.pgdg80+1) ...
> Removing postgresql-12 (12.3-1.pgdg80+1) ...
> update-alternatives: using 
> /usr/share/postgresql/9.5/man/man1/postmaster.1.gz to provide 
> /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
> Purging configuration files for postgresql-12 (12.3-1.pgdg80+1) ...
> Removing postgresql-client-12 (12.3-1.pgdg80+1) ...
> update-alternatives: using 
> /usr/share/postgresql/9.5/man/man1/psql.1.gz to provide 
> /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
> Processing triggers for postgresql-common (215.pgdg80+1) ...
> Building PostgreSQL dictionaries from installed myspell/hunspell 
> packages...
> Removing obsolete dictionary files:
> Setting up python3.4 (3.4.2-1+deb8u3) ...
>   File "/usr/lib/python3.4/http/client.py", line 1014
>     raise InvalidURL(f"URL can't contain control characters. {url!r} "
> ^
> SyntaxError: invalid syntax
> dpkg: error processing package python3.4 (--configure):
>  subprocess installed post-installation script returned error exit 
> status 1
> Errors were encountered while processing:
>  python3.4
> E: Sub-process /usr/bin/dpkg returned an error code (1)
>
> After this, the package is not anymore on the installed list and I'm 
> not able to issue the psql command:
>
> root@datastore-1:/home/user# sudo -u postgres psql
> Error: PostgreSQL version 12 is not installed
>
> How can I repair this?
> Thanks in advance
> Moreno.
>
>
>





Re: Unable to run psql on 9.5 after broken 12 remove

From
Adrian Klaver
Date:
On 7/3/20 1:54 AM, Moreno Andreo wrote:
> After upgrading python the InvalidUrl is gone, but I still can't run psql
> 
> Output of pg_lsclusters, if needed
> root@datastore-1:/usr/share/postgresql-common# pg_lsclusters
> Ver Cluster Port Status                Owner     Data 
> directory               Log file
> 9.5 main    6543 online                postgres 
> /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
> 12  main    5432 down,binaries_missing <unknown> 
> /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
> 
> I followed
> https://askubuntu.com/questions/1223270/psql-command-error-postgresql-version-12-is-not-installed 
> 
> with no luck, apt-purge simply states that pg12 is not installed.

Looks like the cluster was not removed from the pgcommon setup. This 
would explain why you can't run psql. By default pgcommon looks for the 
version of psql connected with the most recent version of Postgres it 
knows about, in this case 12. Unfortunately that binary no longer 
exists. You still have psql. Do:

/usr/lib/postgresql/9.5/bin/psql --help


To avoid having to do that try:

sudo pg_dropcluster  12 main

> 
> 
> Il 03/07/2020 10:37, Moreno Andreo ha scritto:
>> I have a production server running pg9.5 seamlessly.
>> Yesterday I decided to install libpq to have some crypto functions. 
>> Unexpectedly, it installed postgresql 12 and its libpq.
>> I don't need pg 12, so I decided to remove it.
>> It did not went well
>>
>> root@datastore-1:/home/user# apt-get --purge remove postgresql-client-12
>> Reading package lists... Done
>> Building dependency tree
>> Reading state information... Done
>> The following package was automatically installed and is no longer 
>> required:
>>   libuuid-perl
>> Use 'apt-get autoremove' to remove it.
>> The following packages will be REMOVED:
>>   postgresql-12* postgresql-client-12* postgresql-contrib*
>> 0 upgraded, 0 newly installed, 3 to remove and 89 not upgraded.
>> 1 not fully installed or removed.
>> After this operation, 30.9 MB disk space will be freed.
>> Do you want to continue? [Y/n] y
>> (Reading database ... 32065 files and directories currently installed.)
>> Removing postgresql-contrib (12+215.pgdg80+1) ...
>> Removing postgresql-12 (12.3-1.pgdg80+1) ...
>> update-alternatives: using 
>> /usr/share/postgresql/9.5/man/man1/postmaster.1.gz to provide 
>> /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
>> Purging configuration files for postgresql-12 (12.3-1.pgdg80+1) ...
>> Removing postgresql-client-12 (12.3-1.pgdg80+1) ...
>> update-alternatives: using 
>> /usr/share/postgresql/9.5/man/man1/psql.1.gz to provide 
>> /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
>> Processing triggers for postgresql-common (215.pgdg80+1) ...
>> Building PostgreSQL dictionaries from installed myspell/hunspell 
>> packages...
>> Removing obsolete dictionary files:
>> Setting up python3.4 (3.4.2-1+deb8u3) ...
>>   File "/usr/lib/python3.4/http/client.py", line 1014
>>     raise InvalidURL(f"URL can't contain control characters. {url!r} "
>> ^
>> SyntaxError: invalid syntax
>> dpkg: error processing package python3.4 (--configure):
>>  subprocess installed post-installation script returned error exit 
>> status 1
>> Errors were encountered while processing:
>>  python3.4
>> E: Sub-process /usr/bin/dpkg returned an error code (1)
>>
>> After this, the package is not anymore on the installed list and I'm 
>> not able to issue the psql command:
>>
>> root@datastore-1:/home/user# sudo -u postgres psql
>> Error: PostgreSQL version 12 is not installed
>>
>> How can I repair this?
>> Thanks in advance
>> Moreno.
>>
>>
>>
> 
> 
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com



Re: Unable to run psql on 9.5 after broken 12 remove

From
Moreno Andreo
Date:
Il 03/07/2020 16:51, Adrian Klaver ha scritto:
> On 7/3/20 1:54 AM, Moreno Andreo wrote:
>
> Looks like the cluster was not removed from the pgcommon setup. This 
> would explain why you can't run psql. By default pgcommon looks for 
> the version of psql connected with the most recent version of Postgres 
> it knows about, in this case 12. Unfortunately that binary no longer 
> exists. You still have psql. Do:
>
> /usr/lib/postgresql/9.5/bin/psql --help
OK, it confirms that 9.5 client is still ok
>
> To avoid having to do that try:
>
> sudo pg_dropcluster  12 main
This reported a warning

root@datastore-1:/home/user# pg_dropcluster 12 main
Warning: corrupted cluster: data directory does not exist

... but it did its job

root@datastore-1:/home/user# sudo -u postgres psql
psql (9.5.6)
Type "help" for help.

postgres=# \q


Thanks, you saved my day again!

Moreno.

>
>>
>>
>> Il 03/07/2020 10:37, Moreno Andreo ha scritto:
>>> I have a production server running pg9.5 seamlessly.
>>> Yesterday I decided to install libpq to have some crypto functions. 
>>> Unexpectedly, it installed postgresql 12 and its libpq.
>>> I don't need pg 12, so I decided to remove it.
>>> It did not went well
>>>
>>> root@datastore-1:/home/user# apt-get --purge remove 
>>> postgresql-client-12
>>> Reading package lists... Done
>>> Building dependency tree
>>> Reading state information... Done
>>> The following package was automatically installed and is no longer 
>>> required:
>>>   libuuid-perl
>>> Use 'apt-get autoremove' to remove it.
>>> The following packages will be REMOVED:
>>>   postgresql-12* postgresql-client-12* postgresql-contrib*
>>> 0 upgraded, 0 newly installed, 3 to remove and 89 not upgraded.
>>> 1 not fully installed or removed.
>>> After this operation, 30.9 MB disk space will be freed.
>>> Do you want to continue? [Y/n] y
>>> (Reading database ... 32065 files and directories currently installed.)
>>> Removing postgresql-contrib (12+215.pgdg80+1) ...
>>> Removing postgresql-12 (12.3-1.pgdg80+1) ...
>>> update-alternatives: using 
>>> /usr/share/postgresql/9.5/man/man1/postmaster.1.gz to provide 
>>> /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
>>> Purging configuration files for postgresql-12 (12.3-1.pgdg80+1) ...
>>> Removing postgresql-client-12 (12.3-1.pgdg80+1) ...
>>> update-alternatives: using 
>>> /usr/share/postgresql/9.5/man/man1/psql.1.gz to provide 
>>> /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
>>> Processing triggers for postgresql-common (215.pgdg80+1) ...
>>> Building PostgreSQL dictionaries from installed myspell/hunspell 
>>> packages...
>>> Removing obsolete dictionary files:
>>> Setting up python3.4 (3.4.2-1+deb8u3) ...
>>>   File "/usr/lib/python3.4/http/client.py", line 1014
>>>     raise InvalidURL(f"URL can't contain control characters. {url!r} "
>>> ^
>>> SyntaxError: invalid syntax
>>> dpkg: error processing package python3.4 (--configure):
>>>  subprocess installed post-installation script returned error exit 
>>> status 1
>>> Errors were encountered while processing:
>>>  python3.4
>>> E: Sub-process /usr/bin/dpkg returned an error code (1)
>>>
>>> After this, the package is not anymore on the installed list and I'm 
>>> not able to issue the psql command:
>>>
>>> root@datastore-1:/home/user# sudo -u postgres psql
>>> Error: PostgreSQL version 12 is not installed
>>>
>>> How can I repair this?
>>> Thanks in advance
>>> Moreno.
>>>
>>>
>>>
>>
>>
>>
>>
>
>





Re: Unable to run psql on 9.5 after broken 12 remove

From
Adrian Klaver
Date:
On 7/3/20 8:15 AM, Moreno Andreo wrote:
> Il 03/07/2020 16:51, Adrian Klaver ha scritto:
>> On 7/3/20 1:54 AM, Moreno Andreo wrote:
>>
>> Looks like the cluster was not removed from the pgcommon setup. This 
>> would explain why you can't run psql. By default pgcommon looks for 
>> the version of psql connected with the most recent version of Postgres 
>> it knows about, in this case 12. Unfortunately that binary no longer 
>> exists. You still have psql. Do:
>>
>> /usr/lib/postgresql/9.5/bin/psql --help
> OK, it confirms that 9.5 client is still ok
>>
>> To avoid having to do that try:
>>
>> sudo pg_dropcluster  12 main
> This reported a warning

Yeah, I'm guessing the original uninstall clean up process went off the 
rails here:

"
Processing triggers for postgresql-common (215.pgdg80+1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:
Setting up python3.4 (3.4.2-1+deb8u3) ...
   File "/usr/lib/python3.4/http/client.py", line 1014
     raise InvalidURL(f"URL can't contain control characters. {url!r} "
^
SyntaxError: invalid syntax
dpkg: error processing package python3.4 (--configure):
"


The below just finished what the above started.

> 
> root@datastore-1:/home/user# pg_dropcluster 12 main
> Warning: corrupted cluster: data directory does not exist
> 
> ... but it did its job
> 
> root@datastore-1:/home/user# sudo -u postgres psql
> psql (9.5.6)
> Type "help" for help.
> 
> postgres=# \q
> 
> 
> Thanks, you saved my day again!
> 
> Moreno.
> 
>>
>>>
>>>


-- 
Adrian Klaver
adrian.klaver@aklaver.com