Postgresql linux ��� ������������

Linux downloads (Ubuntu)

PostgreSQL is available in all Ubuntu versions by default. However, Ubuntu «snapshots» a specific version of PostgreSQL that is then supported throughout the lifetime of that Ubuntu version. Other versions of PostgreSQL are available through the PostgreSQL apt repository.

PostgreSQL Apt Repository

If the version included in your version of Ubuntu is not the one you want, you can use the PostgreSQL Apt Repository. This repository will integrate with your normal systems and patch management, and provide automatic updates for all supported versions of PostgreSQL throughout the support lifetime of PostgreSQL.

The PostgreSQL Apt Repository supports the current versions of Ubuntu:

on the following architectures:

  • amd64
  • arm64 (18.04 and newer; LTS releases only)
  • i386 (18.04 and older)
  • ppc64el (LTS releases only)

To use the apt repository, follow these steps:

For more information about the apt repository, including answers to frequent questions, please see the PostgreSQL Apt Repository page on the wiki.

Included in distribution

Ubuntu includes PostgreSQL by default. To install PostgreSQL on Ubuntu, use the apt-get (or other apt-driving) command:

apt-get install postgresql-12

The repository contains many different packages including third party addons. The most common and important packages are (substitute the version number as required):

postgresql-client-12 client libraries and client binaries
postgresql-12 core database server
postgresql-contrib-9.x additional supplied modules (part of the postgresql-xx package in version 10 and later)
libpq-dev libraries and headers for C language frontend development
postgresql-server-dev-12 libraries and headers for C language backend development
pgadmin4 pgAdmin 4 graphical administration utility

Copyright © 1996-2021 The PostgreSQL Global Development Group

Источник

Linux downloads (Debian)

PostgreSQL is available in all Debian versions by default. However, the stable versions of Debians «snapshot» a specific version of PostgreSQL that is then supported throughout the lifetime of that Debian version. The PostgreSQL project also maintains an apt repository with all supported of PostgreSQL available.

PostgreSQL Apt Repository

If the version included in your version of Debian is not the one you want, you can use the PostgreSQL Apt Repository. This repository will integrate with your normal systems and patch management, and provide automatic updates for all supported versions of PostgreSQL throughout the support lifetime of PostgreSQL.

The PostgreSQL apt repository supports the currently supported stable versions of Debian:

on the following architectures:

  • amd64
  • arm64 (Buster and newer)
  • i386 (Buster and older)
  • ppc64el

To use the apt repository, follow these steps:

For more information about the apt repository, including answers to frequent questions, please see the apt page on the wiki.

Included in distribution

Debian includes PostgreSQL by default. To install PostgreSQL on Debian, use the apt-get (or other apt-driving) command:

The repository contains many different packages including third party addons. The most common and important packages are (substitute the version number as required):

postgresql-client-12 client libraries and client binaries
postgresql-12 core database server
postgresql-contrib-9.x additional supplied modules (part of the postgresql-xx package in version 10 and later)
libpq-dev libraries and headers for C language frontend development
postgresql-server-dev-12 libraries and headers for C language backend development
pgadmin4 pgAdmin 4 graphical administration utility

Copyright © 1996-2021 The PostgreSQL Global Development Group

Источник

Install PostgreSQL Linux

Summary: in this tutorial, you will learn how to download and install PostgreSQL on Linux.

Most Linux platforms such as Debian, Red Hat / CentOS, SUSE, and Ubuntu have PostgreSQL integrated with their package management.

It is recommended that you install PostgreSQL this way since it ensures a proper integration with the operating system including automatic patching and other update management functionality.

To download and install PostgreSQL on Linux, you visit the download page and select your Linux distribution.

In this tutorial, we’ll show you how to install PostgreSQL on Ubuntu 20.04.

Install PostgreSQL on Ubuntu

Once visiting the PostgreSQL download for Ubuntu page, you find the script that allows you to install PostgreSQL on Ubuntu. You need to execute them one by one

First, execute the following command to create the file repository configuration:

Second, import the repository signing key:

Third, update the package list:

Finally, install the latest version of PostgreSQL:

If you want to install a specific version, you can use postgresql-version instead of postgresql . For example, to install PostgreSQL version 12, you use the following command:

It will take few minutes to download and install the PostgreSQL.

Connect to the PostgreSQL database server via psql

In PostgreSQL, a user account is referred to as a role. By default, PostgreSQL uses ident authentication.

It means that PostgreSQL will associate its roles with the system accounts of Linux. If a role exists in PostgreSQL, the same Linux user account with the same name is able to log in as that role.

When you installed PostgreSQL, the installation process created a user account called postgres associated with the default postgres role.

To connect to PostgreSQL using the postgres role, you switch over to the postgres account on your server by typing:

It’ll prompt for the password of the current user. You need to provide the password and hit the Enter keyboard.

Then, you can access the PostgreSQL using the psql by typing the following command:

You’ll access the postgres prompt like this:

Читайте также:  Hide libraries windows 10

From here, you can interact with the PostgreSQL like issuing a query.

To quit the PostgreSQL prompt, you run the following command:

This above command will bring you back to the postgres Linux command prompt.

To return to your regular system user, you execute the exit command like this:

Load the sample database

To load the sample database into the PostgreSQL database server, you follow these steps:

First, switch over the postgres account using the following command:

It’ll prompt you for the password of the current user. You need to type the password of the current user and press the Enter keyboard.

Second, download the sample database using the curl tool:

Third, unzip the dvdrental.zip file to get the dvdrental.tar file:

Fourth, access the PostgreSQL using the psql tool:

Fifth, create the dvdrental database using the CREATE DATABASE statement:

Sixth, quit the psql by using the \q command:

Seventh, use the pg_restore tool to restore the dvdrental database:

Eighth, access PostgreSQL database server again using psql :

Ninth, switch to the dvdental database:

Now, you’re connected to the dvdrental database:

Finally, enter the following command to get the number of films in the film table:

Here is the output:

Congratulations! you have successfully installed PostgreSQL on Ubuntu, connect to PostgreSQL database server using psql, and load the sample database.

Источник

PostgreSQL 9.2 Начало!

Мне хотелось создать прекрасный объемлющий мануал Getting Start без всякой воды, но включающий основные плюшки для начинающих по системе PostgreSQL в Linux.

PostgreSQL является объектно-реляционной системой управления базами данных (ОРСУБД) на основе POSTGRES, версия 4.2, разработанной в Университете Калифорнии в Беркли департаменте компьютерных наук.

PostgreSQL является open source потомком оригинального кода Berkeley. Он поддерживает большую часть стандарта SQL и предлагает множество современных функций:

Сборка и установка

Как и все любители мейнстрима PostgreSQL мы будем конечно же собирать, а не скачивать готовые пакеты (в репозитариях Debian, например, нет последней версии). Вот здесь лежит множество версий, скачивать конечно же лучше всего последнюю. На момент написания поста это версия 9.2.2

Теперь у нас есть директория с исходниками сей прекрасной базы данных.
По умолчанию файлы базы будут установлены в директорию /usr/local/pgsql, но эту директорию можно изменить задав

перед командой ./configure
Перед сборкой можно указать компилятор С++

PostgeSQL может использовать readline библиотеку, если у вас её нет и нет желания её ставить просто укажите опцию

Надеюсь у всех есть Autotools? Тогда вперед к сборке:

Все господа! Поздравляю!

Настройка

Нам необходимо указать хранилище данных наших баз данных (кластер) и запустить её.

Есть один нюанс — владельцем директории данных и пользователь, который может запускать базу должен быть не root. Это сделано в целях безопасности системы. Поэтому создадим специального пользователя

И далее все понятно

Важный процесс. Мы должны инициализировать кластер баз дынных. Сделать мы должны это от имени пользователя postgres

Теперь нужно добавить запуск PostgreSQL в автостарт. Для этого существует уже готовый скрипт и лежит он в postgresql-9.2.2/contrib/start-scripts/linux
Этот файл можно открыть и обратить внимание на следующие переменные:

  • prefix — это место куда мы ставили PostgreSQL и задавали в ./configure
  • PGDATA — это то, где хранится кластер баз данных и куда должен иметь доступ наш пользователь postgres
  • PGUSER — это тот самый пользователь, от лица которого будет все работать

Если все стоит верно, то добвляем наш скрипт в init.d

Перезапускам систему, чтобы проверить что наш скрипт работает.
Вводим

И если появится окно работы с базой, то настройка прошла успешно! Поздравляю!
По умолчанию создается база данных с именем postgres

Теперь важно поговорить о методах авторизации.
В /usr/local/pgsql/data/pg_hba.conf как раз есть необходимые для этого настройка

Первая строка отвечает за локальное соединение, вторая — за соединение про протоколу IPv4, а третья по протоколу IPv6.
Самый последний параметр — это как раз таки метод авторизации. Его и рассмотрим (только основные)

  • trust — доступ к базе может получить кто угодно под любым именем, имеющий с ней соединение.
  • reject — отклонить безоговорочно! Это подходит для фильтрации определенных IP адресов
  • password — требует обязательного ввода пароля. Не подходит для локальных пользователей, только пользователи созданные командой CREATE USER
  • ident — позволяет только пользователем зарегистрированным в файле /usr/local/pgsql/data/pg_ident.conf устанавливать соединение с базой.

Вкратце расскажу об основных утилитах, которые пригодятся в работе.

Утилиты для работы с базой

pg_config

Возвращает информацию о текущей установленной версии PostgreSQL.

initdb

Инициализирует новое хранилище данных (кластер баз данных). Кластер представляет собой совокупность баз данных управляемых одним экземпляром севера. initdb должен быть запущен от имени будущего владельца сервера (как указано выше от имени postgres).

pg_ctl

Управляет процессом работы сервера PostgreSQL. Позволяет запускать, выполнять перезапуск, останавливать работу сервера, указать лог файл и другое.

psql

Клиент для работы с базой дынных. Позволяет выполнять SQL операции.

createdb
dropdb

Удаляет базу данных. Является оберткой SQL команды DROP DATABASE.

createuser
dropuser

Удаляет пользователя базы данных. Является оберткой SQL команды DROP ROLE.

createlang
droplang

Удаляет язык программирования. Является оберткой SQL команды DROP LANGUAGE.

pg_dump
pg_restore
pg_dumpall

Создает бэкап (дамп) всего кластера в файл.

reindexdb

Производит переиндексацию базы данных. Является оберткой SQL команды REINDEX.

clusterdb

Производит перекластеризацию таблиц в базе данных. Является оберткой SQL команды CLUSTER.

vacuumdb

Сборщик мусора и оптимизатор базы данных. Является оберткой SQL команды VACUUM.

Менеджеры по работе с базой

Что касается менеджера по работа с базой, то есть php менеджер — это phpPgAdmin и GUI менеджер pgAdmin. Должен заметить, что они оба плохо поддерживают последнюю версию PostgreSQL.

Источник

Ubuntu Documentation

Introduction

PostgreSQL is a powerful object-relational database management system, provided under a flexible BSD-style license. [1] PostgreSQL contains many advanced features, is very fast and standards compliant.

PostgreSQL has bindings for many programming languages such as C, C++, Python, Java, PHP, Ruby. It can be used to power anything from simple web applications to massive databases with millions of records.

Client Installation

If you only wish to connect to an external PostgreSQL server, do not install the main PostgreSQL package, but install the PostgreSQL client package instead. To do this, use the following command

you then connect to the server with the following command

After you inserted the password you access PostgreSQL with line commands. You may for instance insert the following

Читайте также:  Hlds server для linux

You exit the connection with

Installation

To install the server locally use the command line and type:

This will install the latest version available in your Ubuntu release and the commonly used add-ons for it.

See «External Links» below for options for getting newer releases.

Installing PostGIS, procedural languages, client interfaces, etc

Additional packages contain procedural language runtimes, add-ons like PostGIS, language client interfaces like psycopg2 for Python, etc. You can get a listing with:

Administration

pgAdmin III is a handy GUI for PostgreSQL, it is essential to beginners. To install it, type at the command line:

You may also use the Synaptic package manager from the System>Administration menu to install these packages.

Basic Server Setup

To start off, we need to set the password of the PostgreSQL user (role) called «postgres»; we will not be able to access the server externally otherwise. As the local “postgres” Linux user, we are allowed to connect and manipulate the server using the psql command.

In a terminal, type:

this connects as a role with same name as the local user, i.e. «postgres», to the database called «postgres» (1st argument to psql).

Set a password for the «postgres» database role using the command:

and give your password when prompted. The password text will be hidden from the console for security purposes.

Type Control+D or \q to exit the posgreSQL prompt.

Create database

To create the first database, which we will call «mydb», simply type:

Install Server Instrumentation (for PgAdmin) for Postgresql 8.4 or 9.3

PgAdmin requires the installation of an add-on for full functionality. The «adminpack» addon, which it calls Server Instrumentation, is part of postgresql-contrib, so you must install that package if you haven’t already:

Then to activate the extension, for «»Postgresql 8.4″», run the adminpack.sql script, simply type:

For «Postgresql 9.3″+ install the adminpack «extension» in the «postgres» database:

Alternative Server Setup

If you don’t intend to connect to the database from other machines, this alternative setup may be simpler.

By default in Ubuntu, Postgresql is configured to use ‘ident sameuser’ authentication for any connections from the same machine. Check out the excellent Postgresql documentation for more information, but essentially this means that if your Ubuntu username is ‘foo’ and you add ‘foo’ as a Postgresql user then you can connect to the database without requiring a password.

Since the only user who can connect to a fresh install is the postgres user, here is how to create yourself a database account (which is in this case also a database superuser) with the same name as your login name and then create a password for the user:

Client programs, by default, connect to the local host using your Ubuntu login name and expect to find a database with that name too. So to make things REALLY easy, use your new superuser privileges granted above to create a database with the same name as your login name:

Connecting to your own database to try out some SQL should now be as easy as:

Creating additional database is just as easy, so for example, after running this:

You can go right ahead and tell Amarok to use postgresql to store its music catalog. The database name would be amarokdb, the username would be your own login name, and you don’t even need a password thanks to ‘ident sameuser’ so you can leave that blank.

Using pgAdmin III GUI

To get an idea of what PostgreSQL can do, you may start by firing up a graphical client. In a terminal type :

You will be presented with the pgAdmin III interface. Click on the «Add a connection to a server» button (top left). In the new dialog, enter the address 127.0.0.1 (Local host is default, so it can be left out.), a description of the server, the default database («mydb» in the example above), your username («postgres») and your password. One more step is required in order to allow pgAdmin III to connect to the server, and that is to edit pg_hba.conf file and change the authentication method from peer to md5 (will not work if you have not set the password):

and change the line

Now you should reload the server configuration changes and connect pgAdmin III to your PostgreSQL database server.

With this GUI you may start creating and managing databases, query the database, execute SQl etc.

Managing the Server

To learn more about managing PostgreSQL (but without the Ubuntu specifics) see the official PostgreSQL documentation

Managing users and rights

User management is discussed in detail in the client authentication chapter of the PostgreSQL documentation; the following is an introduction to get you started.

To manage users, you first have to edit /etc/postgresql/current/main/pg_hba.conf and modify the default configuration which is very locked down and secure. For example, if you want postgres to manage its own users (not linked with system users), you will add the following line:

Which means that on your local network (10.0.0.0/24 — replace with your own local network !), postgres users can connect through the network to the database providing a classical couple user / password.

Besides allowing a user to connect over the network to the to a database on the server, you must enable PostgreSQL to listen across different networks. To do that, open up /etc/postgresql/current/main/postgresql.conf in your favourite editor and alter the listen_addresses as below:

to listen on all network interfaces. See the docs for listen_addresses for other options.

To create a database with a user that have full rights on the database, use the following command:

The first command line creates the user with no database creation rights (-D) with no add user rights -A) and will prompt you for entering a password (-P). The second command line create the database ‘mydb with ‘myuser‘ as owner.

This little example will probably suit most of your needs. For more details, please refer to the corresponding man pages or the online documentation.

restarting the server

After configuring the networking / users you may need to reload the server, here is a suggested command to do so.

Читайте также:  Ios screen recorder ios windows

Some settings changes in postgresql.conf require a full restart, which will terminate active connections and abort uncommitted transactions:

Further reading

If you are not familiar with SQL you may want to look into this powerful language, although some simple uses of PostgreSQL may not require this knowledge (such as a simple Django project).

The PostgreSQL website contains a wealth of information on using this database. In particular, the tutorial is a useful starting point, but you can skip the installation step as you’ve already installed it using Ubuntu packages.

Troubleshooting

fe_sendauth: no password supplied

Your pg_hba.conf specifies that md5 authentication is to be used for this connection based on the origin host, connection method and the requested username/database, but your application didn’t supply a password.

Change the authentication mode or set a password for the user you’re connecting to and then specify that password in your application’s connection settings.

FATAL: role «myusername» does not exist

By default PostgreSQL connects to the PostgreSQL user with the same name as the current unix user. You have not created a PostgreSQL user by that name in your database.

Create a suitable user, or specify a different username to connect with. In the command line tools the -U flag does this.

FATAL: database «myusername» does not exist

A user named «myusername» exists, but there’s no database of the same name.

By default PostgreSQL connects to the database with the same name as the user you’re connecting as, but it doesn’t auto-create the database if it doesn’t exist.

Create the database, or specify a different database to connect to.

FATAL: Peer authentication failed for user «myusername»

You are connecting to localhost via a unix socket. A user named «myusername» exists, but your current unix user is not the same as that username. PostgreSQL is set to use «peer» authentication on unix sockets for this user/db combo so it requires your unix and postgresql usernames to match.

Connect from the unix user that matches the desired PostgreSQL user — perhaps with sudo -u theusername psql — or change pg_hba.conf to use a different authentication mode like «md5» for this username.

could not connect to server: No such file or directory

An error like this (possibly with a different unix socket path, depending on your install):

can mean a number of things:

* The server isn’t running;

* The server has a different unix_socket_directories to the default in your client’s libpq, either due to different compiled-in defaults or a mismatched setting;

* The server is listening on a different «port». PostgreSQL emulates TCP/IP ports on unix sockets by using the port number as the suffix for the socket file, e.g. 5432.

Eliminate these in turn.

First make sure the server is running. On Ubuntu, ps -u postgres -f will show you any processes running as user postgres — you want to see multiple ones named postgres.

Now make sure the server is listening where your client thinks it is. To find out your PostgreSQL server’s socket directory:

or on older PostgreSQL versions, unix_socket_directory as the parameter changed name. To show the server’s port (which applies for both TCP/IP and unix sockets):

If you can’t even connect with psql under unix user postgres you can check the socket dir with lsof:

In this case the first line is the socket location. This server has socket directory /tmp with port 5432.

If your client is looking in a different socket directory, you’re probably trying to connect over unix sockets to the default socket path and/or to the default port, and the libpq your client application is linked to has a different compiled-in unix socket path and/or port than your running PostgreSQL. Most likely your LD_LIBRARY_PATH or /etc/ld.so.conf has a different libpq before the one that came with your version of PostgreSQL. This doesn’t generally matter much, you can just override the socket directory.

To specify an alternative socket directory and/port port to connect to, specify the socket dir as the host parameter in your connection options, e.g. to connect as user bob to the server listening in /tmp on port 5433:

or in connection-string form:

The same works with any client that uses libpq (all the PostgreSQL client tools, plus e.g. psycopg2, the Pg gem in Ruby/Rails, PHP’s postgres and PDO, Perl’s DBB::Pg, etc). It does NOT work with non-libpq clients like PgJDBC, py-postgresql, etc, but most of these don’t support unix sockets at all. See the client documentation for non-libpq based clients.

[1] You do not have to pay in order to use PostgreSQL for any application, such as commercial closed source software. See http://www.postgresql.org/about/licence/.

Official PostgreSQL downloads

The PostgreSQL project provides an official list of download locations, including an Ubuntu software repository, at its download page. In particular, Ubuntu users can get newer PostgreSQL versions than those packaged in their Ubuntu release using apt-get via apt.postgresql.org.

For support and services around PostgreSQL see the services and support page.

EnterpriseDB

The PostgreSQL Linux downloads page contains a section on «Graphical installer» built by EnterpriseDB. You download the installer, change its properties to allow to run it as command (it has .run extension), and run it from command prompt as in «sudo whateveritwas.run».

You end up with

  • configured DB server instance, which starts with your server
  • pgAdmin III UI client application

Note that the installed software will not be integrated with Ubuntu software center. As a result, you will not receive any security updates from Ubuntu. However, the installed version will closely match the latest Ubuntu version.

Turnkey Linux

An Ubuntu-based PostgreSQL appliance is one of the easiest ways to get up and running with PostgreSQL on Ubuntu. It’s part of a family of pre-integrated TurnKey Linux Software Appliances based on Ubuntu 10.04.1 (Lucid LTS).

PostgreSQL (последним исправлял пользователь mikini 2015-08-28 13:16:48)

The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details

Источник

Оцените статью