Postgresql installing in ubuntu

本文提供了一步一步指南,介绍如何在Ubuntu Linux上安装PostgreSQL数据库服务器及PgAdmin管理应用,并设置远程访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

This quick walk-through are my notes for installing the PostgreSQL database server and the PgAdmin administration application on Ubuntu Linux, and also set up the server so it allows access to other PC’s on your network.

Before we move on, this guide was tested on the current release of Ubuntu Linux, (7.10 - Gutsy Gibbon) and PostgreSQL 8.2, but it should also be applicable to older versions (of Ubuntu and PostgreSQL) and other Debian based distros.

Right for the basic installation, at the command-line, enter the following commands (or search for the listed packages in synaptic if you prefer that way of working):

$ sudo apt-get install postgresql postgresql-client postgresql-contrib
$ sudo apt-get install pgadmin3

This installs the database server/client, some extra utility scripts and the pgAdmin GUI application for working with the database.

Now we need to reset the password for the ‘postgres’ admin account for the server, so we can use this for all of the system administration tasks. Type the following at the command-line (substitute in the password you want to use for your administrator account):

$ sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD 'password';
template1=# \q

That alters the password for within the database, now we need to do the same for the unix user ‘postgres’:

$ sudo passwd -d postgres
$ sudo su postgres -c passwd

Now enter the same password that you used previously.

Then, from here on in we can use both pgAdmin and command-line access (as the postgres user) to run the database server. But before you jump into pgAdmin we should set-up the PostgreSQL admin pack that enables better logging and monitoring within pgAdmin. Run the following at the command-line:

$ sudo su postgres -c psql < /usr/share/postgresql/8.2/contrib/adminpack.sql

Finally, we need to open up the server so that we can access and use it remotely - unless you only want to access the database on the local machine. To do this, first, we need to edit the postgresql.conf file:

$ sudo gedit /etc/postgresql/8.2/main/postgresql.conf

Now, to edit a couple of lines in the ‘Connections and Authentication’ section…

Change the line:

#listen_addresses = 'localhost'

to

listen_addresses = '*'

and also change the line:

#password_encryption = on

to

password_encryption = on

Then save the file and close gedit.

Now for the final step, we must define who can access the server. This is all done using the pg_hba.conf file.1

$ sudo gedit /etc/postgresql/8.2/main/pg_hba.conf

Comment out, or delete the current contents of the file, then add this text to the bottom of the file:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database
# super user can access the database using some other method.
# Noninteractive
# access to all databases is required during automatic maintenance
# (autovacuum, daily cronjob, replication, and similar tasks).
#
# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
 
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
 
# Connections for all PCs on the subnet
#
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
host all all [ip address] [subnet mask] md5

and in the last line, add in your subnet mask (i.e. 255.255.255.0) and the IP address of the machine that you would like to access your server (i.e. 138.250.192.115). However, if you would like to enable access to a range of IP addresses, just substitute the last number for a zero and all machines within that range will be allowed access (i.e. 138.250.192.0 would allow all machines with an IP address 138.250.192.x to use the database server).

That’s it, now all you have to do is restart the server:

$ sudo /etc/init.d/postgresql-8.2 restart

And all should be working.

阅读(466) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
### Domain Specific Language (DSL) in Ubuntu Domain Specific Languages are specialized programming languages designed for a particular domain or application area. In the context of Ubuntu, several tools and frameworks support DSL configurations that can be used to manage system settings, automate tasks, or configure applications. For instance, when configuring PostgreSQL on an Ubuntu server, one might use a configuration file written in a simple key-value format which acts as a form of DSL specifically tailored for database management systems[^1]. This allows administrators to define parameters such as `max_connections`, `shared_buffers`, etc., without needing deep knowledge of low-level C code typically required by the underlying implementation. Another example involves Groovy scripting language installation via GVM (Groovy enVironment Manager), where users interact with shell commands acting like another type of DSL dedicated to managing different versions of Java-based development environments[^2]. #### Example: Configuring PostgreSQL Using Its Configuration File Format ```bash # Editing postgresql.conf located at /etc/postgresql/10/main/ sudo nano /etc/postgresql/10/main/postgresql.conf ``` In this case, editing `/etc/postgresql/10/main/postgresql.conf` constitutes working directly with a DSL meant exclusively for tuning PostgreSQL performance characteristics under Linux distributions including Ubuntu. ### DSL Configuration on Ubuntu When discussing more general-purpose approaches towards implementing custom DSLs within Ubuntu, developers often rely upon higher level abstractions provided either through interpreted languages installed from official repositories—such as Go—or other third-party solutions not covered here but still accessible through standard package managers[^3]. However, focusing strictly on built-in capabilities offered natively inside Ubuntu itself: - **Systemd Unit Files**: These serve as declarative scripts defining services behavior. - **Apt Sources List Entries**: Define sources list entries specifying repository locations for APT package manager. Both examples above represent forms of embedded DSLs integrated into core operating system components allowing fine-grained control over various aspects while maintaining ease-of-use principles associated with high-level constructs rather than raw assembly instructions. --related questions-- 1. How does systemd unit files syntax compare against traditional init.d script methods? 2. What advantages do apt source lists offer compared to manually compiling packages outside the distribution's ecosystem? 3. Can you provide practical scenarios demonstrating how modifying postgresql.conf impacts real-world workloads running atop Ubuntu servers? 4. Is there any significant difference between installing Go straight from Ubuntu’s default software repositories versus downloading binaries officially released by golang.org? 5. Are there alternative ways besides using GVM to handle multiple versioned installations of JVM-related technologies on Ubuntu platforms?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值