https://wiki.archlinux.org/api.php?action=feedcontributions&user=Bjourne&feedformat=atomArchWiki - User contributions [en]2024-03-29T07:11:07ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=PostgreSQL&diff=512002PostgreSQL2018-02-25T18:42:30Z<p>Bjourne: /* Installing PostgreSQL */ spell</p>
<hr />
<div>[[Category:Relational DBMSs]]<br />
[[it:PostgreSQL]]<br />
[[ja:PostgreSQL]]<br />
[[ru:PostgreSQL]]<br />
[[zh-hans:PostgreSQL]]<br />
{{Related articles start}}<br />
{{Related|PhpPgAdmin}}<br />
{{Related articles end}}<br />
[https://www.postgresql.org/ PostgreSQL] is an open source, community driven, standard compliant object-relational database system.<br />
<br />
== Installing PostgreSQL ==<br />
<br />
[[Install]] the {{Pkg|postgresql}} package. Then [[Users_and_groups#Example_adding_a_user|set a password]] for the newly created ''postgres'' user.<br />
<br />
Then, switch to the default PostgreSQL user ''postgres'' by executing the following command:<br />
<br />
* If you have [[sudo]] and your username is in {{ic|sudoers}}:<br />
<br />
:{{bc|$ sudo -u postgres -i}}<br />
<br />
* Otherwise use [[su]]:<br />
<br />
:{{bc|<nowiki><br />
$ su<br />
# su -l postgres<br />
</nowiki>}}<br />
<br />
See {{man|8|sudo}} or {{man|1|su}} for their usage.<br />
<br />
{{Note|Commands that should be run as the postgres user are prefixed by {{ic|[postgres]$}} in this article.}}<br />
<br />
Before PostgreSQL can function correctly, the database cluster must be initialized:<br />
<br />
[postgres]$ initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data'<br />
<br />
Where:<br />
<br />
* the {{ic|--locale}} is the one defined in the file {{ic|/etc/locale.conf}};<br />
* the {{ic|-E}} is the default encoding of the database that will be created in the future;<br />
* and {{ic|-D}} is the default location where the database cluster must be stored.<br />
<br />
Many lines should now appear on the screen with several ending by {{ic|... ok}}:<br />
{{bc|<br />
The files belonging to this database system will be owned by user "postgres".<br />
This user must also own the server process.<br />
<br />
The database cluster will be initialized with locale "en_GB.UTF-8".<br />
The default text search configuration will be set to "english".<br />
<br />
Data page checksums are disabled.<br />
<br />
fixing permissions on existing directory /var/lib/postgres/data ... ok<br />
creating subdirectories ... ok<br />
selecting default max_connections ... 100<br />
selecting default shared_buffers ... 128MB<br />
selecting dynamic shared memory implementation ... posix<br />
creating configuration files ... ok<br />
creating template1 database in /var/lib/postgres/data/base/1 ... ok<br />
initializing pg_authid ... ok<br />
[...]<br />
}}<br />
<br />
If these are the kind of lines you see, then the process succeeded. Return to the regular user using {{ic|exit}}.<br />
<br />
As root, [[start]] and [[enable]] the {{ic|postgresql.service}}. See [[#Upgrading PostgreSQL]] for necessary steps before installing new versions of the PostgreSQL packages.<br />
<br />
{{Tip|If you change the root to something other than {{ic|/var/lib/postgres}}, you will have to [[edit]] the service file. If the root is under {{ic|home}}, make sure to set {{ic|ProtectHome}} to false.}}<br />
<br />
{{Warning|If the database resides on a [[Btrfs]] file system, you should consider disabling [[Btrfs#Copy-on-Write (CoW)|Copy-on-Write]] for the directory before creating any database. If the database resides on a [[ZFS]] file system, you should consult [[ZFS#Database]] before creating any database.}}<br />
<br />
== Create your first database/user ==<br />
<br />
{{Tip|If you create a PostgreSQL user with the same name as your Linux username, it allows you to access the PostgreSQL database shell without having to specify a user to login (which makes it quite convenient).}}<br />
<br />
Become the postgres user. Add a new database user using the [https://www.postgresql.org/docs/current/static/app-createuser.html createuser] command:<br />
<br />
[postgres]$ createuser --interactive<br />
<br />
Create a new database over which the above user has read/write privileges using the [https://www.postgresql.org/docs/current/static/app-createdb.html createdb] command (execute this command from your login shell if the database user has the same name as your Linux user, otherwise add {{ic|-U ''database-username''}} to the following command):<br />
<br />
$ createdb myDatabaseName<br />
<br />
== Familiarize with PostgreSQL ==<br />
<br />
=== Access the database shell ===<br />
<br />
Become the postgres user. Start the primary database shell, [https://www.postgresql.org/docs/current/static/app-psql.html psql], where you can do all your creation of databases/tables, deletion, set permissions, and run raw SQL commands. Use the {{ic|-d}} option to connect to the database you created (without specifying a database, {{ic|psql}} will try to access a database that matches your username).<br />
<br />
[postgres]$ psql -d myDatabaseName<br />
<br />
Some helpful commands:<br />
<br />
Get help:<br />
<br />
=> \help<br />
<br />
Connect to a particular database:<br />
<br />
=> \c <database><br />
<br />
List all users and their permission levels:<br />
<br />
=> \du<br />
<br />
Show summary information about all tables in the current database:<br />
<br />
=> \dt<br />
<br />
Exit/quit the {{ic|psql}} shell:<br />
<br />
=> \q or CTRL+d<br />
<br />
There are of course many more meta-commands, but these should help you get started. To see all meta-commands run: <br />
<br />
=> \?<br />
<br />
== Optional configuration ==<br />
<br />
=== Configure PostgreSQL to be accessible from remote hosts ===<br />
<br />
The PostgreSQL database server configuration file is {{ic|postgresql.conf}}. This file is located in the data directory of the server, typically {{ic|/var/lib/postgres/data}}. This folder also houses the other main configuration files, including the {{ic|pg_hba.conf}}.<br />
<br />
{{Note|By default, this folder will not be browsable or searchable by a regular user. This is why {{ic|find}} and {{ic|locate}} are not finding the configuration files.}}<br />
<br />
Edit the file {{ic|/var/lib/postgres/data/postgresql.conf}}. In the connections and authentications section, add the {{ic|listen_addresses}} line to your needs:<br />
<br />
listen_addresses = 'localhost,''my_local_ip_address'''<br />
#You can use '*' to listen on all local addresses<br />
<br />
Take a careful look at the other lines.<br />
<br />
Host-based authentication is configured in {{ic|/var/lib/postgres/data/pg_hba.conf}}. This file controls which hosts are allowed to connect. Note that the defaults '''allow any local user to connect as any database user''', including the database superuser. Add a line like the following:<br />
<br />
# IPv4 local connections:<br />
host all all ''my_remote_client_ip_address''/32 md5<br />
<br />
where {{ic|my_remote_client_ip_address}} is the IP address of the client.<br />
<br />
See the documentation for [https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html pg_hba.conf].<br />
<br />
{{Note|Neither sending your plain password nor the md5 hash (used in the example above) over the Internet is secure if it is not done over an SSL-secured connection. See [https://www.postgresql.org/docs/current/static/ssl-tcp.html Secure TCP/IP Connections with SSL] for how to configure PostgreSQL with SSL.}}<br />
<br />
After this you should [[restart]] {{ic|postgresql.service}} for the changes to take effect.<br />
<br />
{{Note|PostgreSQL uses port {{ic|5432}} by default for remote connections. Make sure this port is open and able to receive incoming connections.}}<br />
<br />
For troubleshooting take a look in the server log file:<br />
<br />
$ journalctl -u postgresql<br />
<br />
=== Configure PostgreSQL authenticate against PAM ===<br />
<br />
PostgreSQL offers a number of authentication methods. If you would like to allow users to authenticate with their system password, additional steps are necessary. First you need to enable [[PAM]] for the connection.<br />
<br />
For example, the same configuration as above, but with PAM enabled:<br />
<br />
# IPv4 local connections:<br />
host all all ''my_remote_client_ip_address''/32 pam<br />
<br />
The PostgreSQL server is however running without root privileges and will not be able to access {{ic|/etc/shadow}}. We can work around that by allowing the postgres group to access this file:<br />
<br />
setfacl -m g:postgres:r /etc/shadow<br />
<br />
=== Change default data directory ===<br />
<br />
The default directory where all your newly created databases will be stored is {{ic|/var/lib/postgres/data}}. To change this, follow these steps:<br />
<br />
Create the new directory and make the postgres user its owner:<br />
<br />
# mkdir -p /pathto/pgroot/data<br />
# chown -R postgres:postgres /pathto/pgroot<br />
<br />
Become the postgres user, and initialize the new cluster:<br />
<br />
[postgres]$ initdb -D /pathto/pgroot/data<br />
<br />
[[Edit]] {{ic|postgresql.service}} to create a drop-in file and override the {{ic|Environment}} and {{ic|PIDFile}} settings. For example:<br />
<br />
[Service]<br />
Environment=PGROOT=''/pathto/pgroot''<br />
PIDFile=''/pathto/pgroot/''data/postmaster.pid<br />
<br />
If you want to use {{ic|/home}} directory for default directory or for tablespaces, add one more line in this file:<br />
<br />
ProtectHome=false<br />
<br />
=== Change default encoding of new databases to UTF-8 ===<br />
<br />
{{Note|If you ran {{ic|initdb}} with {{ic|-E UTF8}} these steps are not required.}}<br />
<br />
When creating a new database (e.g. with {{ic|createdb blog}}) PostgreSQL actually copies a template database. There are two predefined templates: {{ic|template0}} is vanilla, while {{ic|template1}} is meant as an on-site template changeable by the administrator and is used by default. In order to change the encoding of a new database, one of the options is to change on-site {{ic|template1}}. To do this, log into PostgreSQL shell ({{ic|psql}}) and execute the following:<br />
<br />
First, we need to drop {{ic|template1}}. Templates cannot be dropped, so we first modify it so it is an ordinary database:<br />
<br />
UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';<br />
<br />
Now we can drop it:<br />
<br />
DROP DATABASE template1;<br />
<br />
The next step is to create a new database from {{ic|template0}}, with a new default encoding:<br />
<br />
CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';<br />
<br />
Now modify {{ic|template1}} so it is actually a template:<br />
<br />
UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';<br />
<br />
Optionally, if you do not want anyone connecting to this template, set {{ic|datallowconn}} to {{ic|FALSE}}:<br />
<br />
UPDATE pg_database SET datallowconn = FALSE WHERE datname = 'template1';<br />
<br />
{{Note|This last step can create problems when upgrading via {{ic|pg_upgrade}}.}}<br />
<br />
Now you can create a new database:<br />
<br />
[postgres]$ createdb blog<br />
<br />
If you log back in to {{ic|psql}} and check the databases, you should see the proper encoding of your new database:<br />
<br />
{{hc|\l|<nowiki><br />
List of databases<br />
Name | Owner | Encoding | Collation | Ctype | Access privileges<br />
-----------+----------+-----------+-----------+-------+----------------------<br />
blog | postgres | UTF8 | C | C |<br />
postgres | postgres | SQL_ASCII | C | C |<br />
template0 | postgres | SQL_ASCII | C | C | =c/postgres<br />
: postgres=CTc/postgres<br />
template1 | postgres | UTF8 | C | C |<br />
</nowiki>}}<br />
<br />
== Administration tools ==<br />
<br />
* {{App|[[Adminer]]|Web-based database management tool for multiple database systems.|https://www.adminer.org|{{AUR|adminer}}}}<br />
* {{App|[[phpPgAdmin]]|Web-based administration tool for PostgreSQL.|http://phppgadmin.sourceforge.net|{{Pkg|phppgadmin}}}}<br />
* {{App|pgAdmin|GUI-based administration tool for PostgreSQL.|https://www.pgadmin.org/|{{Pkg|pgadmin4}}}}<br />
<br />
== Setup HHVM to work with PostgreSQL ==<br />
<br />
{{Out of date|hhvm-pgsql fails to compile against HHVM 3.7.0, but upstream has not resolved the problem yet. See https://github.com/PocketRent/hhvm-pgsql/issues/82|section=Setting up HHVM}}<br />
<br />
$ git clone https://github.com/PocketRent/hhvm-pgsql.git<br />
$ cd hhvm-pgsql<br />
<br />
If you do not use a nightly build, then run this command (verified on HHVM 3.6.1) to avoid compile errors:<br />
<br />
$ git checkout tags/3.6.0<br />
<br />
Then build the extension (if you do not need an improved support for Hack language, then remove -DHACK_FRIENDLY=ON):<br />
<br />
$ hphpize<br />
$ cmake -DHACK_FRIENDLY=ON .<br />
$ make<br />
<br />
Then copy the built extension:<br />
<br />
# cp pgsql.so /etc/hhvm/<br />
<br />
Add to /etc/hhvm/server.ini:<br />
<br />
extension_dir = /etc/hhvm<br />
hhvm.extensions[pgsql] = pgsql.so<br />
<br />
== Upgrading PostgreSQL ==<br />
<br />
Upgrading major PostgreSQL versions requires some extra maintenance.<br />
<br />
{{Note|<br />
* Official PostgreSQL [https://www.postgresql.org/docs/current/static/upgrading.html upgrade documentation] should be followed.<br />
* From version {{ic|10.0}} onwards PostgreSQL [https://www.postgresql.org/about/news/1786/ changed its versioning scheme]. Earlier upgrade from version {{ic|9.''x''}} to {{ic|9.''y''}} was considered as major upgrade. Now upgrade from version {{ic|10.''x''}} to {{ic|10.''y''}} is considered as minor upgrade and upgrade from version {{ic|10.''x''}} to {{ic|11.''y''}} is considered as major upgrade.<br />
}}<br />
<br />
{{Warning|The following instructions could cause data loss. '''Use at your own risk'''.}}<br />
<br />
It is recommended to add the following to your {{ic|/etc/pacman.conf}} file:<br />
<br />
IgnorePkg = postgresql postgresql-libs<br />
<br />
This will ensure you do not accidentally upgrade the database to an incompatible version. When an upgrade is available, pacman will notify you that it is skipping the upgrade because of the entry in {{ic|pacman.conf}}. Minor version upgrades are safe to perform. However, if you do an accidental upgrade to a different major version, you might not be able to access any of your data. Always check the [https://www.postgresql.org/ PostgreSQL home page] to be sure of what steps are required for each upgrade. For a bit about why this is the case, see the [https://www.postgresql.org/support/versioning versioning policy].<br />
<br />
There are two main ways to upgrade your PostgreSQL database. Read the official documentation for details.<br />
<br />
For those wishing to use {{ic|pg_upgrade}}, a {{Pkg|postgresql-old-upgrade}} package is available that will always run one major version behind the real PostgreSQL package. This can be installed side-by-side with the new version of PostgreSQL. <br />
<br />
When you are ready, upgrade the following packages: {{Pkg|postgresql}}, {{Pkg|postgresql-libs}}, and {{Pkg|postgresql-old-upgrade}}. Note that the data directory does not change from version to version, so before running {{ic|pg_upgrade}}, it is necessary to rename your existing data directory and migrate into a new directory. The new database must be initialized, as described near the top of this page.<br />
<br />
# systemctl stop postgresql.service<br />
# mv /var/lib/postgres/data /var/lib/postgres/olddata<br />
# mkdir /var/lib/postgres/data /var/lib/postgres/tmp<br />
# chown postgres:postgres /var/lib/postgres/data /var/lib/postgres/tmp<br />
[postgres]$ initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data'<br />
<br />
The upgrade invocation will likely look something like the following. '''Do not run this command blindly without understanding what it does!''' Reference the [https://www.postgresql.org/docs/current/static/pgupgrade.html upstream pg_upgrade documentation] for details.<br />
<br />
[postgres]$ cd /var/lib/postgres/tmp<br />
[postgres]$ pg_upgrade -b /opt/pgsql-9.6/bin -B /usr/bin -d /var/lib/postgres/olddata -D /var/lib/postgres/data<br />
<br />
pg_upgrade will perform the upgrade and create some scripts in {{ic|/var/lib/postgres/tmp}}. Follow the instructions given on screen and act accordingly. You may delete {{ic|/var/lib/postgres/tmp}} directory once the upgrade is completely over.<br />
<br />
=== Manual dump and reload ===<br />
<br />
{{Style|Don't show basic systemctl commands, etc.}}<br />
<br />
You could also do something like this (after the upgrade and install of {{Pkg|postgresql-old-upgrade}}).<br />
<br />
{{Note|<br />
* Below are the commands for PostgreSQL 9.6. You can find similar commands in {{ic|/opt/}} for PostgreSQL 9.2.<br />
* If you had customized your {{ic|pg_hba.conf}} file, you may have to temporarily modify it to allow full access to old database cluster from local system. After upgrade is complete set your customization to new database cluster as well and [[restart]] {{ic|postgresql.service}}.<br />
}}<br />
<br />
# systemctl stop postgresql.service<br />
# mv /var/lib/postgres/data /var/lib/postgres/olddata<br />
# mkdir /var/lib/postgres/data<br />
# chown postgres:postgres /var/lib/postgres/data<br />
[postgres]$ initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data'<br />
[postgres]$ /opt/pgsql-9.6/bin/pg_ctl -D /var/lib/postgres/olddata/ start<br />
[postgres]$ pg_dumpall -f /tmp/old_backup.sql<br />
[postgres]$ /opt/pgsql-9.6/bin/pg_ctl -D /var/lib/postgres/olddata/ stop<br />
# systemctl start postgresql.service<br />
[postgres]$ psql -f /tmp/old_backup.sql postgres<br />
<br />
== Troubleshooting ==<br />
<br />
=== Improve performance of small transactions ===<br />
<br />
If you are using PostgresSQL on a local machine for development and it seems slow, you could try turning [https://www.postgresql.org/docs/current/static/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT synchronous_commit off] in the configuration. Beware of the [https://www.postgresql.org/docs/current/static/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT caveats], however.<br />
<br />
{{hc|/var/lib/postgres/data/postgresql.conf|2=<br />
synchronous_commit = off<br />
}}<br />
<br />
=== Prevent disk writes when idle ===<br />
<br />
PostgreSQL periodically updates its internal "statistics" file. By default, this file is stored on disk, which prevents disks from spinning down on laptops and causes hard drive seek noise. It is simple and safe to relocate this file to a memory-only file system with the following configuration option:<br />
<br />
{{hc|/var/lib/postgres/data/postgresql.conf|2=<br />
stats_temp_directory = '/run/postgresql'<br />
}}<br />
<br />
=== Cannot connect to database through pg_connect() ===<br />
<br />
Install {{Pkg|php-pgsql}} and edit the {{ic|php.ini}} file uncommenting the lines {{ic|1=extension=pdo_pgsql.so}} and {{ic|1=extension=pgsql.so}}, then restart {{ic|httpd}}.</div>Bjournehttps://wiki.archlinux.org/index.php?title=Daemons&diff=447057Daemons2016-08-19T22:57:58Z<p>Bjourne: redis</p>
<hr />
<div>[[Category:Boot process]]<br />
[[Category:Daemons and system services]]<br />
[[cs:Daemons]]<br />
[[de:Daemons]]<br />
[[es:Daemons]]<br />
[[it:Daemons]]<br />
[[ja:デーモン]]<br />
[[pl:Daemons]]<br />
[[ro:Daemon]]<br />
[[ru:Daemons]]<br />
[[tr:Artsüreç]]<br />
[[zh-cn:Daemons]]<br />
A [[Wikipedia:Daemon (computing)|daemon]] is a program that runs as a "background" process (without a terminal or user interface), commonly waiting for events to occur and offering services. A good example is a web server that waits for a request to deliver a page, or a ssh server waiting for someone trying to log in. While these are full featured applications, there are daemons whose work is not that visible. Daemons are for tasks like writing messages into a log file (e.g. {{ic|syslog}}, {{ic|metalog}}) or keeping your system time accurate (e.g. [[ntpd]]). For more information see {{ic|man 7 daemon}}.<br />
<br />
In Arch Linux, daemons are managed by [[systemd]]. The [[systemd#Basic systemctl usage|systemctl]] command is the user interface used to manage them. It reads {{ic|''name''.service}} files that contain information about how and when to start the associated daemon. Service files are stored in {{ic|/{etc,usr/lib,run}/systemd/system}}. See [[systemd#Using units]] for details.<br />
<br />
== List of daemons ==<br />
<br />
Here is a list of daemons. Note that any package can provide a daemon, so this list will never be complete. Please feel free to add any missing daemons here, in alphabetical order. You may have packages that include other daemons from the [[AUR]]. These files will likely be located in {{ic|/usr/lib/systemd/system/}}. <br />
<br />
The ''Package'' column contains a link to ArchWiki page for each daemon (or link to the package if no such page exists). The ''initscripts'' column contains the name of the legacy ''rc.d'' script and the ''systemd'' column contains the name of the [[systemd]] service file. Note that there may be daemons specific to either initscripts or systemd, with the respective column empty. The ''Description'' column provides short description, preferably of ''the daemon'' (not of the package).<br />
<br />
{| class="wikitable sortable"<br />
! Package !! initscripts !! systemd !! Description<br />
|-<br />
| [[acpid]] || acpid || acpid.service || A daemon for delivering ACPI power management events with netlink support.<br />
|-<br />
| [[alsa]] || alsa || ''always on'' – alsa-store.service, alsa-restore.service || Saves the state of a sound card (e.g. volume) on shutdown and restores it on startup.<br />
|-<br />
| {{Pkg|at}} || atd || atd.service || Runs jobs queued for later execution.<br />
|-<br />
| [[Autofs]] || autofs || autofs.service || Automounting of removable media or network shares when they are inserted or accessed.<br />
|-<br />
| rowspan="2" | [[Avahi]] || avahi-daemon || avahi-daemon.service || Allows programs to automatically find local network services.<br />
|-<br />
| avahi-dnsconfd || avahi-dnsconfd.service || Multicast/unicast DNS-SD framework.<br />
|-<br />
| [[Audit framework]] || auditd || auditd.service || Linux audit framework<br />
|-<br />
| [[Bitlbee]] || bitlbee || bitlbee.service || Brings instant messaging (XMPP, MSN, Yahoo!, AIM, ICQ, Twitter) to IRC.<br />
|-<br />
| [[Bluetooth]] || bluetooth || bluetooth.service || Bluetooth protocol stack, framework, subsystem. <br />
|-<br />
| [[Chrony]] || chrony || chrony.service || Lightweight NTP client and server.<br />
|-<br />
| [[CDemu]] || cdemud || cdemu-daemon.service || CD/DVD-ROM device emulator.<br />
|-<br />
| [[ClamAV]] || clamav || clamd.service <br>freshclamd.service || Anti-virus toolkit for Unix.<br />
|-<br />
| [[Connman]] || connmand || connman.service || Wireless LAN network manager.<br />
|-<br />
| [[Cpupower]] || cpupower || cpupower.service || Sets [[cpufreq]] governor and other parameters on startup.<br />
|-<br />
| || craftbukkit || craftbukkit.service || CraftBukkit Minecraft server.<br />
|-<br />
| [[Cron]] || crond || cronie.service (if using {{Pkg|cronie}}) or dcron.service (if using {{AUR|dcron}}) || Daemon to schedule and time events. The daemon name ''crond'' is used by at least two packages, {{Pkg|cronie}} and {{AUR|dcron}}.<br />
|-<br />
| [[CUPS]] || cupsd || org.cups.cupsd.service || The CUPS Printing System daemon.<br />
|-<br />
| [[D-Bus]] || dbus || ''always on'' – dbus.service || Freedesktop.org message bus system.<br />
|-<br />
| {{Pkg|dante}} || sockd || sockd.service || A circuit-level SOCKS client/server.<br />
|-<br />
| rowspan="2" | [[Deluge]] || deluged || deluged.service || Cross-platform and full-featured BitTorrent client - main daemon.<br />
|-<br />
| deluge-web || deluge-web.service || Cross-platform and full-featured BitTorrent client - web interface daemon.<br />
|-<br />
| [[Dhcpcd]] || dhcpcd || dhcpcd@.service || DHCP daemon.<br />
|-<br />
| [[Dovecot]] || dovecot || dovecot.service || IMAP and POP3 server. <br />
|-<br />
| [[Dropbox]] || dropboxd || dropbox@.service || Cross-platform file synchronisation with version control.<br />
|-<br />
| [[fail2ban]] || fail2ban || fail2ban.service || Fail2ban scans log files and bans IP addresses that show malicious activity.<br />
|-<br />
| [[Fan speed control]] || fancontrol || fancontrol.service || Fan control daemon (part of lm_sensors)<br />
|-<br />
| [[Fbsplash]] || fbsplash || ''not yet implemented'' || Graphical boot splash screen for the user.<br />
|-<br />
| [[FluidSynth]] || fluidsynth || fluidsynth.service || Software synthesizer.<br />
|-<br />
| {{Pkg|inetutils}} || ftpd || ftpd.service || inetutils FTP daemon.<br />
|-<br />
| [[GDM]] || gdm || gdm.service || GNOME Display Manager.<br />
|-<br />
| [[Git]] || git-daemon || git-daemon.socket || Git daemon.<br />
|-<br />
| [[Console mouse support|gpm]] || gpm || gpm.service || Console mouse support.<br />
|-<br />
| [[hddtemp]] || hddtemp || hddtemp.service || Hard drive temperature monitor daemon.<br />
|-<br />
| || healthd || healthd.service || A daemon which can be used to alert you in the event of a hardware health monitoring alarm (part of [[lm_sensors]]).<br />
|-<br />
| [[apache]] || httpd || httpd.service || Apache HTTP Server (Web Server).<br />
|-<br />
| || i8kmon || i8kmon.service || Monitor the CPU temperature and fan status on Dell Inspiron laptops.<br />
|-<br />
| || ifplugd || ifplugd@.service || Start/stop network on network cable plugged in/out.<br />
|-<br />
| rowspan="2" | [[iptables]] || iptables || iptables.service || Load firewall rules for IPv4.<br />
|-<br />
| ip6tables || ip6tables.service || Load firewall rules for IPv6.<br />
|-<br />
| || irqbalance || irqbalance.service || Irqbalance is the Linux utility tasked with making sure that interrupts from your hardware devices are handled in as efficient a manner as possible.<br />
|-<br />
| [[KDE]] || kdm || kdm.service || KDE Display Manager.<br />
|-<br />
| rowspan="3" | {{Pkg|krb5}} || krb5-kadmind || krb5-kadmind.service || Kerberos 5 administration server.<br />
|-<br />
| krb5-kdc || krb5-kdc.service || Kerberos 5 KDC.<br />
|-<br />
| krb5-kpropd || krb5-kpropd.service || Kerberos 5 propagation server.<br />
|-<br />
| [[Laptop Mode Tools]] || laptop-mode || laptop-mode.service || Laptop power saving tools.<br />
|-<br />
| [[lighttpd]] || lighttpd || lighttpd.service || Lighttpd HTTP Server (Web Server).<br />
|-<br />
| [[libvirt]] || libvirt || libvirtd.service || libvirt is a virtualization API and a daemon for managing virtual machines (VMs).<br />
|-<br />
| [[LXDE|lxdm]] || lxdm || lxdm.service || LXDE Display Manager.<br />
|-<br />
| || mdadm || mdadm.service || MD Administration (Linux software RAID).<br />
|-<br />
| [[miniDLNA]] || minidlna || minidlna.service || simple DLNA/UPnP media server.<br />
|-<br />
| || ? || ModemManager.service || Makes mobile broadband (3G) modem available to [[NetworkManager]].<br />
|-<br />
| [[mpd]] || mpd || mpd.service || Music Player Daemon.<br />
|-<br />
| [[MySQL]] || mysqld || mysqld.service || MySQL database server.<br />
|-<br />
| [[MythTV]] || mythbackend || mythbackend.service || Back-end for the MythTV digital video recording/home theater software.<br />
|-<br />
| [[BIND]] || named || named.service || The Berkeley Internet Name Daemon (BIND) DNS server.<br />
|-<br />
| rowspan="3" | [[netctl]] || || netctl@.service || Manually activate specific profile.<br />
|-<br />
| || netctl-ifplugd@.service || Automatically start/stop netctl profiles depending on whether the cable is plugged in or not.<br />
|-<br />
| || netctl-auto@.service || Automatically start/stop netctl wireless profiles depending on which access points are in range.<br />
|-<br />
| || network || dhcpcd@.service || Brings up the network connections (dynamic Ethernet).<br />
|-<br />
| [[NetworkManager]] || networkmanager || NetworkManager.service <br>NetworkManager-wait-online.service || NetworkManager daemon, provides configuration and detection for automatic network connections.<br />
|-<br />
| [[Nginx]] || nginx || nginx.service || Nginx HTTP Server and IMAP/POP3 proxy server (Web Server).<br />
|-<br />
| || nscd || nscd.service || Name service caching daemon.<br />
|-<br />
| [[ntpd]] || ntpd || ntpd.service || Network Time Protocol daemon (client and server).<br />
|-<br />
| [[Ntop]] || ntop || ntop.service || Ntop is a network traffic probe based on libcap.<br />
|-<br />
| [[OpenNTPD]] || openntpd || openntpd.service || Alternative Network Time Protocol daemon (client and server).<br />
|-<br />
| || osspd || osspd.service || OSS Userspace Bridge.<br />
|-<br />
| [[OpenVPN]] || openvpn || openvpn@.service || One for each VPN configuration file saved like {{ic|/etc/openvpn/''<profile-name>''.conf}}<br />
|-<br />
| [[OSS]] || oss || oss.service || Open Sound System. Alternative to [[ALSA]].<br />
|-<br />
| [[Pdnsd]] || pdnsd || pdnsd.service || Proxy DNS server with permanent caching.<br />
|-<br />
| {{Pkg|php-fpm}} || php-fpm || php-fpm.service || FastCGI Process Manager for PHP.<br />
|-<br />
| [[PostgreSQL]] || postgresql || postgresql.service || PostgreSQL database server.<br />
|-<br />
| [[Postfix]] || postfix || postfix.service || Mail server, which is an alternative to using [[sendmail]].<br />
|-<br />
| [[Postgrey]] || postgrey || postgrey.service || Greylisting service, used with Postfix <br />
|-<br />
| [[PPTP server]] || pptpd || pptpd.service || A Virtual Private Network (VPN) server using the Point-to-Point Tunneling Protocol (PPTP).<br />
|-<br />
| [[pppd]] || pppd || ppp@.service || A daemon which implements the Point-to-Point Protocol for dial-up networking.<br />
|-<br />
| [[preload]] || preload || preload.service || Makes applications run faster by prefetching binaries and shared objects.<br />
|-<br />
| [[Prosody]] || prosody || prosody.service || XMPP server.<br />
|-<br />
| [[Profile-sync-daemon]] || psd || psd.service || Manages your browser's profile in tmpfs and periodically syncs it back to your physical disk.<br />
|-<br />
| || pure-ftpd || pure-ftpd.servicecups.service || A fast, production quality, standards-compliant FTP server.<br />
|-<br />
| {{Pkg|rfkill}} || rfkill || rfkill-block@.service <br>rfkill-unblock@.service || (Un)blocks radio devices.<br />
|-<br />
| [[Rsync]] || rsyncd || rsyncd.service || rsync daemon.<br />
|-<br />
| [[Rsyslog]] || rsyslogd || rsyslog.service || Alternative system logger.<br />
|-<br />
| [[redis]] || redis-server || redis.service || Key-value store<br />
|-<br />
| [[samba]] || samba || smbd.service<br>nmbd.service<br>winbindd.service || File and print services for Microsoft Windows clients.<br />
|-<br />
| [[LVM]] || ? || blk-availability.service<br>lvm2-lvmetad.service<br>lvm2-monitor.service<br>lvm2-pvscan.service || LVM is a logical volume manager for the Linux kernel; it manages disk drives and similar mass-storage devices.<br />
|-<br />
| [[SANE]] || saned || saned@.service || SANE network daemon.<br />
|-<br />
| || saslauthd || saslauthd.service || SASL authentication daemon.<br />
|-<br />
| rowspan="2" | [[lm_sensors]] || sensord || sensord.service || Sensor information logging daemon.<br />
|-<br />
| sensors || lm_sensors.service || Initialize hardware monitoring sensors (load necessary kernel modules).<br />
|-<br />
| [[SLiM]] || slim || slim.service || Simple Login Manager.<br />
|-<br />
| [[SMART]] || smartd || smartd.service || Self-Monitoring, Analysis, and Reporting Technology (S.M.A.R.T.) Hard Disk Monitoring.<br />
|-<br />
| [[Samba#smbnetfs|smbnetfs]] || smbnetfs || smbnetfs.service || Automatically mount Samba/Microsoft network shares.<br />
|-<br />
| [[snmpd]] || snmpd || snmpd.service || A suite of applications used to implement SNMP<br />
|-<br />
| || soundmodem || soundmodem.service || Multiplatform Soundcard Packet Radio Modem<br />
|-<br />
| {{Pkg|spamassassin}} || spamd || spamassassin.service || e-mail spam filtering service.<br />
|-<br />
| [[openssh]] || sshd || sshd.service || OpenSSH (secure shell) daemon.<br />
|-<br />
| || stunnel || stunnel.service || Allows encrypting arbitrary TCP connections inside SSL.<br />
|-<br />
| || svnserve || svnserve.service || Subversion server.<br />
|-<br />
| [[syslog-ng]] || syslog-ng || syslog-ng.service || System logger next generation.<br />
|-<br />
| [[Timidity]] || timidity++ || timidity.service || Software synthesizer for MIDI.<br />
|-<br />
| [[Tinc]] || ? || tincd@.service || One for each configuration directory like /etc/tinc/''<vpnname>''/<br />
|-<br />
| [[Tor]] || tor || tor.service || Onion routing for anonymous communication.<br />
|-<br />
|[[Transmission]] || transmissiond || transmission.service || BitTorrent Daemon.<br />
|-<br />
| [[Ufw]] || ufw || ufw.service || Uncomplicated FireWall.<br />
|-<br />
| [[Urxvt|Urxvtd]] || ? || urxvtd.service || urxvt daemon.<br />
|-<br />
| [[VirtualBox]] || vboxservice || vboxservice.service || VirtualBox Guest Service.<br />
|-<br />
| [[vnStat]] || vnstat || vnstat.service || Lightweight network traffic monitor.<br />
|-<br />
| [[Very Secure FTP Daemon]] || vsftpd || vsftpd.service (permanent)<br />
<br />
vsftpd.socket (on-demand)<br />
<br />
vsftpd-ssl.service (permanent)<br />
<br />
vsftpd-ssl.socket (on-demand)<br />
|| FTP server.<br />
|-<br />
| [[wicd]] || wicd || wicd.service || A lightweight alternative to NetworkManager.<br />
|-<br />
| [[x11vnc]] || x11vnc || x11vnc.service || VNC remote desktop daemon. <br />
|-<br />
| [[XDM]] || xdm || xdm.service || X display manager.<br />
|-<br />
| [[XDM|xdm-archlinux]] || xdm-archlinux || xdm-archlinux.service || X display manager with Arch Linux theme.<br />
|-<br />
<br />
|}</div>Bjournehttps://wiki.archlinux.org/index.php?title=Talk:Intel_graphics&diff=447027Talk:Intel graphics2016-08-19T17:04:46Z<p>Bjourne: suggestion</p>
<hr />
<div>== Corrupted fonts after resume from ram ==<br />
<br />
I've finally found searching across many forums the solution for my i915 graphic card.<br />
<br />
My card is: "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)".<br />
<br />
The problem is: After resuming from ram, some letter have a missing orizzontal line, for example I see ¦ instead of |. Another thing is that sometime, after resuming, the cpu goes to 100% of usage with no apparent reason.<br />
<br />
The solution is: Create the file /etc/modprobe.d/local.conf (if it doesn't already exist) and add to it the line "options drm_kms_helper poll=N".<br />
<br />
I cannot understand this mystery but now I can use "Suspend to ram" as many times as I want.<br />
{{unsigned|13 August 2013|Livix}}<br />
<br />
== There is no i915.powersave option ==<br />
<br />
It's probably some mistake. I have an HD Graphics 4000 and I note no "powersave" option in output of <code>modinfo -p i915</code> and <code>systool -m i915 -av</code> commands. This is the output of both commands: [http://pastebin.com/E21whTaL modprobe], [http://pastebin.com/fsZ4yvdK systool].<br />
<br />
--[[User:Shau-kote|Shau-kote]] ([[User talk:Shau-kote|talk]]) 13:18, 14 October 2015 (UTC)<br />
<br />
:Lack of ''powersave'' parameter for i915 confirmed as of today with ''xf86-video-intel 1:2.99.917+691+ga77397a-1'' (on both an Atom Pineview and Core i3 ''Ivy'' boxes). Also by ''dmesg'':<br />
[ 0.980110] i915: unknown parameter 'powersave' ignored<br />
[ 1.069323] [drm] Initialized i915 1.6.0 20160229 for 0000:00:02.0 on minor 0<br />
[[User:Kozaki|kozaki]] ([[User talk:Kozaki|talk]]) 20:24, 12 August 2016 (UTC)<br />
<br />
== GUC? ==<br />
What is this: https://01.org/linuxgraphics/downloads/sklgucver43<br />
and do we need it?<br />
[[User:Greyltc|Greyltc]] ([[User talk:Greyltc|talk]]) 19:53, 7 January 2016 (UTC)<br />
<br />
<br />
== [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A ==<br />
<br />
Maybe the solution to get rid of the above dmesg log spamming could be mentioned? You just add `options i915 enable_psr=0` to the file `/etc/modprobe.d/i915.conf`. [[User:Bjourne|Bjourne]] ([[User talk:Bjourne|talk]]) 17:04, 19 August 2016 (UTC)</div>Bjournehttps://wiki.archlinux.org/index.php?title=Talk:System_time&diff=437701Talk:System time2016-06-08T20:59:57Z<p>Bjourne: /* Windows time synch */</p>
<hr />
<div>== Windows time synch ==<br />
<br />
Can't you leave Windows time sync enabled and use the 0.pool.ntp.org server instead? --[[User:EoD|EoD]] ([[User talk:EoD|talk]]) 11:06, 5 July 2014 (UTC)<br />
<br />
:I haven't understood, do you want Windows to manage your hw clock? In that case you'll have to keep it in localtime and let your other operating systems know, and disable any time synchronization methods they are using. You'll have problems with DST changes if Windows is not the first system you use after a DST change has been applied. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:03, 6 July 2014 (UTC)<br />
<br />
::Well, I do not think disabling the time synchronization in Windows should be recommended anymore, at least for Windows 10. I did the registry edit (RealTimeIsUniversal=1) using QWORD on a Win 10 64-bit system without needing to disable time sync (let alone touch the Win 7-esque internet time settings). I then rebooted Windows (the RTC adjusted to become UTC, shifting the windows clock back 6 hours (my local time zone is UTC-6) since Windows thinks that local time is UTC), then I disabled and re-enabled the "Set Time Automatically" option under Date & Time in the settings. The time automatically synced with the internet and adjusted time accordingly (and it worked for DST), all while the RTC was set to UTC. I rebooted into both Arch and Windows (as well as looking at BIOS settings) multiple times to confirm that it worked. The idea is that both Arch and Win 10 can sync the time without any problems. Should a section on this wiki page be created just to detail steps taken to ensure this harmony, all while RTC is on UTC? sb5060tx was here 00:34, 8 January 2016 (UTC)<br />
<br />
:::If you can ensure that Windows doesn't mess with the RTC, you can let it sync the system clock as much as it wants. I don't understand the "otherwise it will mess up the hardware clock" statement in the article though: did (old) versions of Windows also update the RTC when syncing the system clock, despite the registry hack? — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:26, 9 January 2016 (UTC)<br />
<br />
::::Maybe it did, but that sentence you are referring to had an to an external article explaining why to disable time sync in Win 7. The article said it in verbatim, that "Some governments in various countries implement daylight saving time on various dates and the public Internet time server is not updated with the change, thus showing wrong time by an hour." That article is quite old (2009), for I do recall as far as late 2013 that some of Windows Updates (I had 7) involved making sure DST was done at the right time in the right locations. And BTW, as I am typing on Win 10 right now, I realized that the time sync is with time.windows.com, the default. Then again, I do not have 7 anymore so I do not really know for sure. sb5060tx was here 19:01, 9 January 2016 (UTC)<br />
<br />
:::::If the only problem with time syncing in Windows is DST management, that's not something that belongs on the ArchWiki in the first place. Since the "mess up the hardware clock" part was too generic and unreferenced, I've [https://wiki.archlinux.org/index.php?title=Time&type=revision&diff=414904&oldid=414633 removed] the whole sentence: is it enough to close this discussion or are there more references to Windows time syncing that I didn't find? — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:32, 11 January 2016 (UTC)<br />
<br />
::::::From the first paragraph of UTC in Windows: If you make Windows use UTC, also remember to disable the "Internet Time Update" Windows feature, so that Windows does not mess with the hardware clock, trying to sync it with internet time. You should instead use an agent for the NTP to modify the RTC and sync to internet time, see #Time synchronization.sb5060tx was here 03:36, 11 January 2016 (UTC)<br />
<br />
:::::::True, [https://wiki.archlinux.org/index.php?title=Time&diff=414907&oldid=414904 marked] as possibly inaccurate, with a link to this discussion. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:13, 11 January 2016 (UTC)<br />
<br />
Just want to confirm that it '''is''' possible to get Windows 10 to use a hardware clock set to UTC. The article is not clear about that. First you import the regedit key: <br />
<br />
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]<br />
"RealTimeIsUniversal"=dword:00000001<br />
<br />
And it should be dword on 64bit Windows too. Then you need to go to Date and time settings and set "Configure time automatically" and "Configure timezone automatically" to off. Then if you configure the hwclock in Arch it won't be overwritten by Windows. [[User:Bjourne|Bjourne]] ([[User talk:Bjourne|talk]]) 20:59, 8 June 2016 (UTC)</div>Bjournehttps://wiki.archlinux.org/index.php?title=Talk:Microsoft_fonts&diff=401828Talk:Microsoft fonts2015-09-26T10:46:32Z<p>Bjourne: </p>
<hr />
<div>At least on Windows 10 you can't copy font files from C:\Windows\Fonts anymore because the truetype font format Windows uses is incompatible with Linux. You can check that they are font-config incompatible using fc-validate. [[User:Bjourne|Bjourne]] ([[User talk:Bjourne|talk]]) 10:46, 26 September 2015 (UTC)</div>Bjourne