Editing PostgreSQL

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 9: Line 9:
 
The easiest way to install PostgreSQL in these operating systems is to use their respective built-in package managers - for instance, the <code>pkg</code> command in DragonFlyBSD or <code>apt</code> in Debian and its derivatives. Be advised that there will be different variants of PostgreSQL available for install at a given point, specially regarding version numbers and client/server side. You should decide beforehand which version suits your needs for a particular application. Furthermore, you need to make sure that you have sufficient privileges in the system to install software (properly configured sudo/doas access, for example) or your install will fail.
 
The easiest way to install PostgreSQL in these operating systems is to use their respective built-in package managers - for instance, the <code>pkg</code> command in DragonFlyBSD or <code>apt</code> in Debian and its derivatives. Be advised that there will be different variants of PostgreSQL available for install at a given point, specially regarding version numbers and client/server side. You should decide beforehand which version suits your needs for a particular application. Furthermore, you need to make sure that you have sufficient privileges in the system to install software (properly configured sudo/doas access, for example) or your install will fail.
 
* [[Ubuntu]]: <code>[[apt install postgresql]]</code>
 
* [[Ubuntu]]: <code>[[apt install postgresql]]</code>
* [[Amazon AMI]]: <code>[[apt install postgresql-server]]</code>
 
  
=== Docker ===
+
== Configuration files ==
[[docker run]] -p 5432:5432 --name MY_POSTGRES_DB -e POSTGRES_PASSWORD=mysecretpassword -d postgres<ref>https://hub.docker.com/_/postgres</ref>
+
/etc/postgresql/10/main/[[postgresql.conf]]
* [[Docker-compose.xml PostgreSQL]]
+
/etc/postgresql/10/main/[[pg_hba.conf]] (PostgreSQL Client Authentication Configuration File)
 
 
docker run -p 5432:5432 -d \
 
    --name some-postgres \
 
    -e POSTGRES_PASSWORD=mysecretpassword \
 
    -e PGDATA=/var/lib/postgresql/data/pgdata \
 
    -v /custom/mount:/var/lib/postgresql/data \
 
    postgres
 
 
 
image: [[arm64v8/postgres]]
 
 
 
 
 
* Binaries: [[pg_isready]], [[psql]], [[pg_restore]]
 
 
 
== PostgreSQL ==
 
* <code>[[bitnami/postgresql]]</code>
 
* <code>[[bitnami/postgresql-ha]]</code>
 
 
 
== Configuration and data files ==
 
* <code>/etc/postgresql/*/main/[[postgresql.conf]]</code>
 
* <code>/etc/postgresql/*/main/[[pg_hba.conf]]</code> (PostgreSQL Client Authentication Configuration File)
 
  
 
  # "local" is for Unix domain socket connections only
 
  # "local" is for Unix domain socket connections only
 
  local  all            all                                    md5
 
  local  all            all                                    md5
 
* Data: <code>[[/var/lib/postgresql/]]</code>
 
  
 
== [[PostgreSQL logs]] ==
 
== [[PostgreSQL logs]] ==
*<code>[[/var/log/postgresql/]]</code>
 
  
 
== Basic Commands==
 
== Basic Commands==
Line 48: Line 24:
 
* Connect to a PostgreSQL database: <code>[[psql]] -h localhost -U postgres -d somedb</code><ref>http://postgresguide.com/utilities/psql.html</ref>
 
* Connect to a PostgreSQL database: <code>[[psql]] -h localhost -U postgres -d somedb</code><ref>http://postgresguide.com/utilities/psql.html</ref>
 
* Connect to a PostgreSQL database with a timeout of 5 seconds: <code>env PGCONNECT_TIMEOUT=5 psql -h localhost -U postgres -d somedb</code><ref>http://postgresguide.com/utilities/psql.html</ref>
 
* Connect to a PostgreSQL database with a timeout of 5 seconds: <code>env PGCONNECT_TIMEOUT=5 psql -h localhost -U postgres -d somedb</code><ref>http://postgresguide.com/utilities/psql.html</ref>
* [[Show databases]]:
+
* [[Show databases]]: <code>SELECT datname FROM pg_database WHERE datistemplate = false;</code>
** <code>[[\list]]</code>
+
* Show tables: <code>\dt</code> or <code>SELECT * FROM pg_catalog.pg_tables;</code><ref>https://stackoverflow.com/questions/769683/show-tables-in-postgresql</ref>
** <code>SELECT datname FROM pg_database WHERE datistemplate = false;</code>
+
* [[Show users]]: <code>\du</code>
* Show tables: <code>\dt</code> or <code>SELECT * FROM [[pg_catalog]].pg_tables;</code><ref>https://stackoverflow.com/questions/769683/show-tables-in-postgresql</ref>
 
* [[Show users]]: <code>[[\du]]</code>
 
 
* Drop DB: <code>[[dropdb]] DB_NAME</code>
 
* Drop DB: <code>[[dropdb]] DB_NAME</code>
  
 
* Describe ''employees'' table: <code>\d employees</code>
 
* Describe ''employees'' table: <code>\d employees</code>
* Show/List [[schema]]s: <code>select [[nspname]] from [[pg_catalog]].pg_namespace;</code><ref>https://dba.stackexchange.com/questions/40045/how-do-i-list-all-schemas-in-postgresql</ref>
+
* Show/List [[schema]]s: <code>select nspname from pg_catalog.pg_namespace;</code><ref>https://dba.stackexchange.com/questions/40045/how-do-i-list-all-schemas-in-postgresql</ref>
 
* Show version: <code>[[SELECT version();]]</code>
 
* Show version: <code>[[SELECT version();]]</code>
  
* Create backup: use <code>pg_dump</code> <ref>https://www.postgresql.org/docs/current/static/app-pgdump.html</ref> and <code>[[~/.pgpass]]</code> file for automating login.
+
* Create backup: use <code>pg_dump</code> <ref>https://www.postgresql.org/docs/current/static/app-pgdump.html</ref> and <code>~/.pgpass</code> file for automating login.
 
* Create user:  
 
* Create user:  
** <code>[[create user]] <username></code>
+
** <code>[[createuser]] <username></code>
 
** ALTER USER user_name WITH PASSWORD 'new_password';
 
** ALTER USER user_name WITH PASSWORD 'new_password';
 
* <code>[[create database]]</code>
 
* <code>[[create database]]</code>
Line 68: Line 42:
  
  
* <code>systemctl [ [[systemctl status postgresql|status]] | [[systemctl stop postgresql|stop]] | [[systemctl start postgresql|start]] ] postgresql </code>
+
* <code>[[systemctl status]] postgresql</code>
 
+
* <code>[[systemctl stop]] postgresql</code>
 
+
* <code>[[systemctl start]] postgresql</code>
* <code>[[\l]], [[\du]], [[\dt]], [[\c]], [[\di]]</code>
 
  
 
== Processs ==
 
== Processs ==
 
* [[wal]] writer process
 
* [[wal]] writer process
 +
  
 
== Related terms ==
 
== Related terms ==
* [[Role]], [[Schema]]
+
* <code>[[/var/lib/]]postgresql/</code>
 
* <code>[[pg_upgradecluster]]</code>
 
* <code>[[pg_upgradecluster]]</code>
* [[Adminer]]
 
* [[Amazon Redshift]]
 
* [[PostgreSQL monitoring]]
 
** [[PostgreSQL statistics collector]]: <code>[[pg_stat]]*</code>
 
** <code>[[prometheus-postgres-exporter]]</code>
 
* [[Multi-Version Concurrency Control (MVCC)]]
 
* [[Index (PostgreSQL)]]
 
* [[Greenplum]]
 
* [[PostgreSQL replication]]
 
* [[PGO PostgreSQL Operator]]
 
* [[Amazon Aurora PostgreSQL Serverless]]
 
* [[PgBouncer]] connection pooler
 
* [[Amazon RDS for PostgreSQL]]
 
* [[Master]] user for RDS: <code>[[postgres]]</code>
 
* Ansible: <code>[[community.postgresql.postgresql_query]]</code>
 
* [[psycopg2]]
 
* [[PostgreSQL logging]]
 
* <code>[[yum install postgresql]]</code>
 
* <code>[[arm64v8/postgres]]</code>
 
* [[Azure Cosmos DB for PostgreSQL]]
 
  
 
== Activities ==
 
== Activities ==
Line 105: Line 59:
  
 
== See also ==
 
== See also ==
 +
* {{PostgreSQL}}
 +
* {{RDS}}
 +
* [[AWS Redshift]]
 
* [[Patroni]] [[HA]] solution for PostgreSQL that requires <code>[[etcd]]</code>, <code>[[Zookeeper]]</code>, or <code>[[Consul]]</code>
 
* [[Patroni]] [[HA]] solution for PostgreSQL that requires <code>[[etcd]]</code>, <code>[[Zookeeper]]</code>, or <code>[[Consul]]</code>
* {{PostgreSQL extensions}}
+
* {{DBs}}
* {{PostgreSQL}}
 
  
[[Category:PostgreSQL]]
 
 
[[Category:Databases]]
 
[[Category:Databases]]
  
 
{{CC license}}
 
{{CC license}}
 
Source: wikiversity
 
Source: wikiversity

Please note that all contributions to wikieduonline may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Wikieduonline:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)

Advertising: